I’m not sure if this is related or not, but after enabling klipper_tmc_autotune, I also started having issues with multiple objects having different z-heights to the point of failing the prints. Without the autotune enabled, it behaves as expected.
While this is certainly caused by the autotune extra, it might be worth running the macro posted by Kevin then attaching klippy.log so we can view the results.
The question I am asking myself is if it is possible that tmc driver configuration can influence stepper accuracy…that is, is it possible that a poor configuration would cause the stepper to travel more in one direction than in the reverse direction (the OP’s issue would seem it indicate that the answer is yes).
Attached are logs from running the macro both with and without autotune enabled.
(I didn’t run M112 on the logs without autotune, but could re-run if needed)
The logs both with and without autotune enabled indicate that no microstep drift is present. It would seem that the issue you are experiencing is exclusively due to the tmc driver configuration after the autotune module has applied its settings.