Don’t calibrate the milestone with Zwift, calibrate it with the milestone application. I had this problem with mine and both milestone and Zwift say to not calibrate in Zwift.
I did a calibrated 5km park run distance and then calibrated the milestone in its own app. It is now accurate with half a km or so with the treadmill. Remember no treadmill is accurate both in terms of calibration and your float above it when in the airborne part of your stride.
My foot pod is bang on acccuarte against a known track distance and my Garmin Vivosmart GPS distance.
As Steve mentions above, the Milestone pod should be calibrated on the Milestone app rather than on Zwift. This is the recommended calibration specific to that pod.