I ordered some new switches, and I also put the controller box in the machine frame where it was supposed to go. That meant that I could connect the star point earth terminal in the control cabinet to the frame. This completely cured all the homing problems I was seeing. Reliable homing, and not a single limit switch trip since. Was this a shielding/noise/ground loop problem? No idea, but I seem to have fixed it. I was testing the proximity switches by connecting them to a bench power supply and just watching the built-in LEDs; in retrospect I'm not sure that this is a valid test and I should probably have connected the switch output to some kind of load (like motion controller input). When the new switches arrived, I tested those and still did not see any hysteresis but again this was "off load" and might not be a valid test. I do see the axis overshoot very slightly and then return slowly to the home position (which is what you would expect) on two of the three axes; it might be happening on the third but the movement is too small to see easily.

I did have a problem with one limit switch apparently triggering as the cable chain containing motor cables moved near its cable but I rerouted the cable and that seems OK now.

I haven't measured resetting accuracy when homing yet. Be interesting to see what these cheap switches can achieve.