Gabe,
I think the problem you are having is associated with the spindle gearing. I suggest you try figuring out a test on which you can mark positions on the motor shaft and on the spindle chuck, then command the spindle to do a large number of turns and verify that the marks remain aligned. The issue has to be mechanical. The problem is not related to the spindle been a servo or now, it is the encoder and encoder index what will keep the spindle in sync with the Z-axis.
Arturo Duncan
htttps://cnc4pc.com