My suggestion is to try modifying the LinkLabelDraggingTool to change the link route in the same manner that the CurvedLinkReshapingTool does, rather than modifying the label’s GraphObject.segmentOffset.
Basically, it’s a matter of adapting the reshape
method of the CurvedLinkReshapingTool to replace the updateSegmentOffset
of the LinkLabelDraggingTool.