distanceSurface is very picky
If
- the surface is open
- and the nearest point on the surface is on one of the open edges the distanceSurface seems to pick up the 'wrong' normal. What is the normal on an open edge?
Workaround is to always make sure your surface is big enough so all mesh points project onto its interior.