My knowledge is that when you power on the printer it assumes it's at 0,0,0
If your carriages are elsewhere, that's what it thinks are 0,0,0 until you home it
I think technically the workflow is to home it before you power it off, I don't do that.
I had the same type of problem until I changed this option
#define min_software_endstops true
I changed it to false and I could home without a problem.
Also make sure if you have EEPROM enabled to do M502 followed by M500
If your carriages are elsewhere, that's what it thinks are 0,0,0 until you home it
I think technically the workflow is to home it before you power it off, I don't do that.
I had the same type of problem until I changed this option
#define min_software_endstops true
I changed it to false and I could home without a problem.
Also make sure if you have EEPROM enabled to do M502 followed by M500