In what way are you doing asynchronous loading?
Note that it's not enough to "load" the SkeletonDataAssets through LoadAsync
or something.
You need to make them generate the Skeleton objects during your load phase/load scene.
You do this by calling, on each of them, something like:
mySkeletonDataAsset.GetSkeletonData(false);
This method lazy-instantiates the actual skeleton data, and triggers the reading of the json/binary files.
You may also need to tell Unity to preload the materials/textures too. I'm not sure how to do that, but that's a Unity thing. You can probably search the Unity forums for that. I've never done it myself.
I also think that thread you linked has little to do with your problem. (but in case you're interested, some 20 to 40% mesh-updating performance gains are being worked on. Someone just contributed some changes to the code that works around some weird stuff Unity does.)