something missing when calculating Analog values?

  while (!digitalRead(home_switch)) { // Make the Stepper move CCW until the switch is deactivated
    stepperX.moveTo(initial_homing); 
    stepperX.run();
    initial_homing++;
  }

I really would expect you to KNOW how many steps this takes, and just step that number of times.

// Check if the Stepper has reached desired position
  if ((stepperX.distanceToGo() != 0)) {
   
   stepperX.run();  // Move Stepper into position
   
  }

If you call run(), and the stepper is at the commanded position, run() will do nothing. So the if statement is unnecessary.

Disabling the motor means that it will not hold position. Is that what you want?

Your indentation is awful. With Tools + Auto Format so easy to use, there is no excuse for that.

I think it would be useful to print the distanceToGo() value periodically.