Do you just want the reflexive link to be routed on the top of the node rather than on the bottom? If so, try this binding on Link.curviness, which gets a value of -10 when it’s reflexive and 0 otherwise:
The Binding using a source property of “” and being Binding.ofObject makes this solution inefficient. It actually would be more efficient to override Link | GoJS API, which is also necessary if you may have multiple reflexive links.