OK so I went and had a chat in discord with some knowledgeable people. We came to the conclusion that you in fact cannot send complete objects via TriggerClientEvent and TriggerServerEvent.

Rather you would send the individual properties and reconstruct the Object on the receiving side. This could also be achieved using JSON to serialize the object and then de-serialize on the receiving side.

If what I written here is inaccurate then please correct me.