I have run into the similar issue, and I think the problem could be concluded as:
Data Replicated with peek causes data lost.
After investigation, I found that UE4 used a user specified value in config file, to detect network saturation. And the algrithm is not friendly to payload with a peek which may only contain a limited data in a period time.
by further investigating it myself, I would as well say it is caused by the network saturation. At least my large arrays transfere with less issues as I increase the bandwidth in the configs as you did. How ever I have not been looking into this issue for a while.
Do you know what network saturation is for? I did not find any usefull information about it. I would expect the network card of the PC to buffer everything that could not be send out cause of bandwith limitation between Server and Client. Do you have any insight you could share?