What appears to be happening is that the height of the nozzle at a particular point depends on whether it was approached from the +X or the -X direction. The fact that the issue doesn't occur at points that lie on X=0 suggests to me that the issue lies with the Z carriage movement or the associated bearings.
Try sending G91 and then make small Z carriage movements e.g. G1 S2 Z0.5 and G1 S2 Z-0.5 alternately, and check that you are getting carriage movement.