That’s a problem I struggled with too. I solved it by applying an offset to the (in your equivalent) *CameraRoot * transform or better the DefaultSceneRoot, and by that also offset the head position.
Specifically you could have a TriggerVolume around your Head, then if it enters the ledge, attach the DefaultSceneRoot to it, set it to keep a relative offset. Once the ledge moves it will offset the base and with that the character. It feels hacky, but worked for me, while collision components didn’t. It kinda makes sense why it doesn’t, but is still a little unfortunate. I also tried playing around with attaching the head to a static mesh with physics simulation on and moving that one, but syncing the physics body with your head (since you are still able to move freely), while also having the body being able to react to collisions, was headache inducing.