Firstly, I would want the port to be at the center and not the edge. This is to give to give the effect the the connects can be made around the GraphNode rather than strictly on the left or right side, depending on the connection's direction.
To do that, I need to set the port's offset, which is to be called from the GraphNode when resized:
func _on_resize():
var half_width = get_size().x / 2
add_constant_override("port_offset", half_width)
This is what the result would be like:

Next is to fix the Bezier of the curve. I've found it under GraphEdit's Theme > Constant > Bezier Len Neg/Pos, though playing around with them does not give me the answer to what they do, let alone how they affect the curve.