@Cyan_Bean I've spent over a day debugging your repro project. I could not figure out what's wrong.
Then this morning, I switched the Physics Engine to GodotPhysics2D. Result:
It works as intended. This leads me to believe that Rapier2D has a bug. No other code was changed for this to work. Both physics engines get the exact same positions from the bones of the character. But Rapier2D seems to use those incorrectly.
I suggest you submitt the repro to the Rapier2D developers, as I'm not informed about its code.