uStepper moveToEnd - incorrect result for degrees?

Thanks, this helps. However I'm getting numbers that don't align with my expectation.

I'm using a NEMA23 (1.8deg) - so 200 steps / revolution.
Therefore (200*256)/360 = 142 micro-steps/deg.

When I perform a 360 deg rotation on the motor, I'm getting:
stepper.driver.getPosition() = -153600.00
moveAngle(360);
stepper.driver.getPosition() = -165747.00

Difference in steps = 12,147
12,147/142 = 85deg?? Surely this should be 360deg? Therefore is the encoder not reporting steps correctly?