I don’t know enough to answer your first question, but with regards to
I’m trying to find a way to pass the server’s public key to the client but so far I’ve seen suggestions such as serialization however I’m not sure if this the correct way to proceed.
Yes, serialization is the right way to pass around the keys. See the various examples here: PALISADE-serial-examples. See this relevant thread too: What's the best way to use openFHE on two sides?