Advice on where to store stats, and some other variables,

player state should contain public information about player, the stats that effects game play code should be stored safely in non-replicated PlayerController, so keep copy in stats. If you don’t want duplication you could also try to configure replication in the way that it ignores data coming from clients to change those variables.