There is no command/logic for homing extruders. We have a jam control which is the switch you might think is an end stop. That would at least stop extrusion after emptying the buffer.
How is homing supposed to work here? I mean inverting the tube direction might return to a start position but how would that fill the tube.
Anyway, I think the solution will lie in the extra stepper driver commands, see Drivers.h/Drivers.cpp. If you wait for end of moves with M400 you can use the same motor pins on the extruder motor and there is a stepper driver with endstop and homing function. So with that you can implement any kind of extra moves and they do not change the official extruder position - important if you do a pause for refilling so it continues correctly.