Update: I got sensorless homing working on all 3 axes.
Someone suggested adjusting stealthchop/spreadcycle like this: M569 P0.3 V40 D3 and it fixed one of the axes. For the Z axis with small motors I had to go back and forth with stall sensitivity and speed. Same for the remaining axis, basically trying random speeds and sensitivities until it worked. It took a while, but it worked eventually.
@fcwilt thanks for the help.
Still got that probing offset thing to fix, but that's tomorrow.