Apply Scale to root bone in pose mode

I just finished doing an animation, and then realized my mesh & armature has non-zero location and non-one scale. I see the scale in 3 places:
(1) Mesh (object mode)
(2) Armature (object mode)
(3) Root bone (pose mode)
I can apply transformation for the first 2 and it works fine, but I can’t seem to get rid of the third one.
I tried apply pose as rest pose as well, but it still ruins the animations.

How can I solve this?

You can use an additive NLA layer to re-position the bone one time and have it offset the animation.
You can also create a world-copy, apply the changes, then transform the values from the world copy back to it.

A world copy is the term I’m using for anything that maintains the exact transforms of the bone but is completely separated from it.

This could be a duplicate of the armature with a duplicate action, or a bone/object using the baked animation from a Copy Transforms constraint targetted at the original.