I have the same issue where the data I send from the server to the client about an entity cannot be used at that time because the entity has not loaded yet on the client
My solution was to store the message until the entity actually loaded, and to process the message during the EntityJoinWorldEvent event
Hopefully that was the right way to do it
You can find an example implementation here https://github.com/Ephys/mc-who-let-the-dogs-out/blob/5d38102cefde1648809db9006708b5d8d1487be2/src/main/java/be/ephys/wltdo/NewSkinMessageHandler.java