Du kannst entweder nach z max homend (homing direction 1) oder nach z min mit z probe wenn z min pin der gleiche wie z probe pin ist. Aber beides gibt es nicht. Du macht z max homing, musst aber
#define ENDSTOP_Z_BACK_ON_HOME 5
setzen. vielleicht geht auch weniger muss aber mehr sein als die maximale rotation des bettes, sonst kann es zu Fehlern führen.
Bei
#define HOMING_ORDER HOME_ORDER_ZXY
sollte er dann eigentlich nach dem G28 oben bleiben. Nur bei varianten mit T in homing order würde er in deinem fall auf
#define ZHOME_HEAT_HEIGHT 20
runter fahren. Ich denke aber der Fall tritt bei dir nicht ein.
Gibt es noch andere Befehle die du zum homing benutzt? Das sind dann zwar eine homing Befehle würde aber vielleicht erklären warum er wieder so weit runter geht. Normal sollte erst beim nächste G1 move mit Z runter gehen. Aber aktivieren der z probe ist nicht zu erwarten beim homen, wäre in so weit also korrekt.
Evtl. mal in console loggen was da genau passiert und was am ende M114 als koordinaten liefert und sehen ob es passt.