Replicating a TArray of uint8 upon changing an element

I have a TArray of fixed size, and I expect elements in the array to be sometimes changed by the server, and I want the whole array to be replicated. Unfortunately I’m now reading that simply setting an element in a TArray won’t trigger replication. Can someone confirm this? I’ve also seen a workaround using UStructs instead of the primitive so that changing one element in the array does trigger replication, but I don’t want to do this if it will add a lot of overhead. I have previously send the whole TArray via an RPC which was working fine, except that it would overload the network if I called it too often. What I’m hoping to benefit from changing to regular property replication is the automatic queuing and balancing that I don’t get by sending a multicast RPC. My backup plan is to add some kind of queuing and balancing server side for the RPC technique. Please let me know if I have made any false assumptions here.