Yup that’s correct. Just tested this out again, what I said was mostly theory but should have had tested it.
I may have misunderstood what actually happens with PlayerGui lol
So the client doesn’t replicate changes to the server, but the server can replicate changes to the client.
Short answer is there is a negligible difference of performance between the two scenarios you’re proposing. Since the client doesn’t replicate changes then you don’t have to worry about networking there.
Long answer is that you’re inherently degrading the performance of the server by having it perform operations in which the client is more suitable to handle. There is a miniscule difference in performance based on the application, but the “bad practice” is that the server should only be handling operations that it’s meant to do, like verification, typical engine operations that require syncing to other clients, etc.
Speaking from experience for developing World // Zero, but every little bit of server performance helps when you have 50 players in a server.