If the extruder is zereod before performing an axis zero on a non-Z axis, the extruder runs because the Printer::destinationSteps[E_AXIS] value does not get set to zero prior to the move.
g0 x0 y0 z100
g1 x100 e30 f2000 ; Make a move and extrude
g92 e0 ; zero the extruder
g28 x0 ; Move to X=0 and home
This sequence causes the extruder to extrude 30mm of filament during the move to x=0