The way the mid level of 0.5 is handled in our case is by setting the Mid level displacement field in the Texture displacement node to 0.5.
But you are right we still need to do the same operation to offset the source so it's symmetric around 0 and doesn't push the whole surface.
In addition we need to normalize it back at the end because the texture displacement still expects values in [0..1].
For this we can subtract 0.5 at the beginning and add 0.5 back at the end.
In our case the "Global multiplier" is the "Height" field in the displacement texture.
I attach a new ORBX that should work better.