Exactly. G92 is just a temporary shift of coordinate system that does not survive G28. What you normally do is G32 S2 or G29 S2 to store the result in eeprom. Then on next start homing is all you need until you change bed somehow.When you correct z probe height and then do probing you should get the correct height and only G28 is needed.Difference:G29 measues 3 points and takes the average height. So this is when you do not want to correct your bed rotation.G32 takes 3 points and puts a plane trough it so it adjusts z for every position according to your bed rotation. You will see that z moves a bit when you move left/right/fron/back depending on your rotation. G32 returns the rotation matrix. Normally you want it to contain 0s and 1 on diagonal, then it is perfect square. The bigger the zeros get the more the printer has to correct.
Homing has no servo support. It uses a z min switch not a z probe (also there are exceptions). Also with z probing you should home to z max. A rotated bed hot not one z min position. z=0 depends on x and y position.
You are right. Would be good to check for enough place and adjust the move otherwise even if it then would measure the wrong point.