4.21.2 Replication actor spawning/destroying

Hello. Once again I’m loosing my mind over replication and RPCs. To my knowledge when you want to spawn or destroy an actor you should call spawn/destroy only on the server and engine will handle the rest, no? Because according to my testing today, to actually have a visible actor displayed properly on both listen server and client I have to call run on server => multicast => spawn/destroy and that feels really wrong to me. If I call spawn on server (either from listen server or client) the actor will spawn only on server.
I’ve used new empty project to test this using character as a parent class.

I wonder if I’m doing something wrong or I should just throw this behind me and just get used to it.
Thanks in advance, Mat5i6.