Art assets should be client-sided, not server-sided.
The 3d meshes and textures of those "hairtyle sets, weapon and armor sets and 30 face sets + eyes" should all be bundled with the client. When a new character comes onto the screen of a client, then the server only tells that client the ID number of each of those assets. So communicating the whole visual appearance of a character only takes a few bytes of network traffic.
However, some loading time on the client might not be completely avoidable. As your library of character parts grows over the course of development, you will soon run out of RAM / VRAM to keep all those textures and meshes permanently in memory. At that point it becomes necessary to load those from the file system whenever a character with a previously unloaded art asset comes onto the screen. To optimize those loading times it can be useful to have each of those assets as an own file, or if you want to use some archive format to bundle assets, choose one that can unpack individual files without having to unpack the whole archive.
But loading assets from files will still take time. So if you don't want the game to hang while loading and parsing all those files, you will have to temporarily represent characters with placeholder assets while the actual art assets load in the background.
and no, calling and deleting pieces of the players as scenes is not an option :/, all assets are into one file and are turned visible/invisible when the player wears their respective items.
Well, then you should revise your architecture to make it an option. Your approach might work while you still have a low number of variations. But when you get into the thousands of character art assets (which isn't even that much for an MMORPG), you will experience a very long initial load time of the game, and a while later you will start losing players because after an update their computers no longer have enough memory to keep all the new art assets loaded.