My first attempt at pausing a print and changing filaments resumed from the wrong position -- how do I troubleshoot?
You are out of luck:

Print gcode is written in relative coordinates. If you move the printhead manually, the printer does not know this, and will just follow its relative path from the new position - which is what commonly is called layer-shifting.

To try to mitigate this, there are ways, but they are a little tricky:


If your printer has a change filament option, then choose that - this saves the absolute position of the printhead before moving it to X0Y0, then usually extracts the filament and waits for the new filament to be inserted and the printer waits till given a resume-OK. Then it will move to the saves absolute position, and resume the code from the point it paused.
If your printer has a pause option that moves the printhead to X0Y0, this can be used, using a manual extraction. Resuming the print will be easy.
Some slicers support to call "Change filament at layer X", which will call a move to X0Y0 and pause, allowing manual change even if the normal pause behavior is not to move to X0Y0.


As you see: NO manual commands are given here! You can not move the printhead up/down/sideways without having a good chance of inducing a layer shift.

The Pause behavior can be adjusted in the firmware.