It looks like there are two things you would need to do: Detect when the body hits ground and stop the movement.
I’d like to suggest an experiment: drop a dead body off a cliff and have it `log in event Landed to see if it detects hitting the ground. Do the same thing with a dead body in water. Also, in event Tick (possibly inside a relevant state?), log Pawn.FailedLandingCount. If Landed() gets called, or if FailedLandingCount starts going up, then you know that at least the pawn knows when it has reached the bottom, and you can insert code there to stop movement. If the pawn is not detecting via regular means that it has landed, then you may have to do a trace (not necessarily on every tick) to detect distance to the bottom.
Do you already know how to stop the movement? I don’t know for sure. Would it change anything if you increase the player’s mass? Is there a way to change the physics asset’s mass scaling or damping during gameplay? (Maybe not if they’re const.) When the player hits bottom, can you just set the physics to none? Do you have a lying-dead-on-the-ground animation that you can play? (Possibly with foot placement skeletal controls on bones besides the feet to keep the body flat on uneven ground.)