Yes strange move. Looking into homeX after doing the back move there is one for selecting current extruder:
#if NUM_EXTRUDER > 1
#if X_HOME_DIR < 0
PrintLine::moveRelativeDistanceInSteps((Extruder::current->xOffset - offX) * X_HOME_DIR, 0, 0, 0, homingFeedrate[X_AXIS], true, true);
#else
PrintLine::moveRelativeDistanceInSteps(-(Extruder::current->xOffset - offX) * X_HOME_DIR, 0, 0, 0, homingFeedrate[X_AXIS], true, true);
#endif
#endif
So for left extruder it should not move at all and when right extruder was active it would move to the left.
I don't see how that would move to wrong direction but you can try commenting that part and try again, then it should omit the move it was that move. It is in file Printer.cpp after
#else // Cartesian printer
void Printer::homeXAxis() {
at line 1676 in dev version.
If that was the case please report what your x offsets are for both extruders.