Используйте Math.atan2
вместо Math.atan
labelLine.attr("transform", function(d) {
if (d) {
const dsty = d.source.y - d.target.y;
let angle = Math.atan2(dsty, (d.source.x - d.target.x)) * 180 / Math.PI;
return 'translate(' + [((d.source.x + d.target.x) / 2), ((d.source.y + d.target.y) / 2)] + ')rotate(' + angle + ')';
}
});