Hello @ZzingG! I appreciate the detailed writeup of what you’re seeing and tried. As time consuming as that is, personally I find writing out problems like this helps clarify what’s going on.
RE1: Not sure what to suggest here, you’re using M119 and manually confirming the switches are working, this is what I’d do. Consider running M119 a few times, do you see consistent output? What gauge wire is between your endstops and the board? How wide is your gantry? Unlikely cause, but we’ve seen issues with SKR Pro 1.2 boards not correctly detecting endstop state.
RE2: M420 might be ignorable, expecting someone will confirm… Already seen Measuring AXIS on table LR3 - #38 by vicious1 ?
RE3: Have personally encountered many Z movements that weren’t what I wanted, but were what I commanded… Sometimes I’ve forgotten to Z home, or manually set the Z position G92 Z0 by manually probing, or using a touch probe G38. Other times there’s been a mismatch between my intent and what I told the machine to do because movements were configured to be ‘relative’, or ‘absolute’.