Oh, that's not how it works, unfortunately.
The packing layout won't be consistent across pages unless all your image sets are the same set (no extra or missing ones) and have the same dimensions.
For it to work, you would have to set skin, make sure the attachments from the new skin are used, and also switch the texture source (for UI).
It would be something like:
skeleton.SetSkin(myChosenSkin);
skeleton.SetSlotsToSetupPose(); // use the setup pose attachments based on the current skin.
skeletonGraphic.AnimationState.Apply(skeleton); // use the attachments based on the current animations.
skeletonGraphic.OverrideTexture = textureOfMyChosenSkin; // set the texture
Note here that for SkeletonGraphic, the texture isn't applied every frame like in the regular component so you have to tell it which one to use. A lot of the weirdness in that regard comes from the base class we're inheriting from (UnityEngine.UI.MaskableGraphic).
The requirement to call Skeleton.SetSlotsToSetupPose, and AnimationState.Apply applies to both UI and non-UI versions. It has to do with some other theoretically flexible things you could do with skins.