Either the FRandomStream struct is not meant to be serialized / replicated, so you think you’re replicating the same stream, but in reality it’s just being recreated on server with a new random seed.
The FRandomStream struct supports replication, in which case you’re sending stream with an internal value after having generated the first 5 entries on client, so server is generating entries 6-10 which are gonna be different. Calling the server RPC first would solve this.
Either way, a FRandomStream is just a wrapper for an int32 seed which self-updates whenever you use it, so personally I’d take no risk and retrieve the seed value before using it, store it in a temp var, then do the stuff on client, then call the server with the retrieved value. On server, create a new stream using the passed in value.