The problem you’re having here, is that by design not all properties get replicated. If you do something like hide a mesh component, that will only happen on the machine where that code executed.
I believe, however, that there is a flag on every actor bOnlyRelevantToOwner, which will cause that actor only to replicate to the owning client of that actor, which is probably what you want. Set that on the server and the actor won’t get replicated to non-owning clients of that actor.
It’s been a while since I’ve used Listen Server (I normally work on games that use Dedicated Server), so I’m not 100% sure what that will do for the host’s view of the world, you might need to still set bOnlyOwnerSee on the host so that they don’t see actors. Try it first without that and see what happens.
Just to be complete, another way to do this, potentially, is with Replication Graph. It should be possible to temporarily stop an actor from being spatially replicated, and have them replicated to specific connections only. But honestly, I really wouldn’t mess with that unless you really know what you’re doing. It’s overkill for this situation. Though it’s worth mentioning if you’re basing your game on ShooterGame, that ShooterGame uses ReplicationGraph by default (I think), which will stop bOnlyOwnerSee from working if I remember correctly.