I'm not entirely sure what all of this is a bug and what is intended behavior. But I figured out on stream the other day that the beefalo skins are not saved if you switch characters at any point on a DST world.
Steps to recreate:
1 - Start a new world as Character A
2 - Unlock a Beefalo skin (Ironclad used as an example)
3 - Upgrade the Florid Postern
4 - Switch to Character B
At this point you lose the Ironclad you had previously unlocked and are given a random skin set as if you were a new character. But there is more:
5 - Switch Back to the original Character A
You still will not have the Ironclad skin you original unlocked on Character A before switching. You will still loose any additional skins you unlocked on Character B and be given a new random skin set as if Character A is a new Character/Player on the server.
Also here is a highlight from my stream recently of me testing this out in a brand new world so the dev's can see it in action: