Try setting the mesh position manually during crouch so it remains on the ground. What i mean is setting z position which refers to up axis. I don’t know if it’s gonna work correctly.
Greetings from 2024.
Here is my Smooth Crouch method with built-in Crouch / Uncrouch functions.