This is a layman’s explanation, so sorry if it doesn’t meet some of the technical requirements. I am just a novice in all this.
Maybe you understand this, but a little about gcode instructions might help. In your control interface, you might be thinking that the control is pressing an arrow or a house icon and that makes the machine move. What is going on is those icons are what sends specific commands to the control board and then that gets interpreted and sent through the drivers to spin the motors.
G92 is the command that you use to set a “work” zero coordinate or offset that is different from an endstop set home position that would result from bringing the axes all the way to the extreme left on X and extreme near side on Y and the Z tool tip touching the spoil board, if that is what you have set for your machine zero home.
G92 X0 Y0 Z0 will temporarily set your 0,0,0 to any place on the machine, so like a corner of a piece of wood, where the head is at the moment…
Network admins have a t-shirt that says, “No place like 127.0.0.1”
CNC folks have a t-shirt that says “No place like G92 Z0 Y0 Z0” or sometimes “G28 ;” which homes the axes.
I use it because I’m still getting used to the CNC.js interface and the icons that I am using. I made a custom command for setting work offsets that I know is exactly what I want.
Putting in the G92 for homing all the axes where your head is at the moment would have given you a clear indication that when you went left or right, front to back, you were getting the movement you expected. You seemed to have figured out the home position and how that remains.