Replace direct updating of the int32 position counters in the ISR somehow. Perhaps use smaller int8 variables and update position counters only when a segment completes. This can get complicated with probing and homing cycles that require true real-time positions.