I have updated to the latest version of chrome and it doesn't make a difference. I don't think it is a client side issue.
If you analyse the network traffic whilst typing a message from icloud, you can see that there are packets of 270 bytes sent to p11-mailws.icloud.com.akadns.net. (This may be different depending on geolocation)
When the freeze happens these packets stop - when it unfreezes, multiple packets are sent.
My conclusion to this, and Apple, please correct me if I'm wrong is that the handshake to this server is the problem. Due to the whole way the internet works, there are always times when traffic is redirected through other intermediary servers, or lost and has to be re-transmitted - these things can take time - that's why when you click on a YouTube video for instance it pre-caches; allowing for disturbances in the force...
It seems to me that this data doesn't even need to be sent - why does it have to be sent? Is it the "saved drafts"? That would be my guess...
So - unless I'm completely wrong - the most elegant fix would be to add an option to "Turn off automatic saving to the Drafts Folder".