Your VMs are running a super old version of linux which may do a compatible samba version. You will struggle to find a suitable rpm with a recent enough smb client. The only other easy fast option is NFS.
If you are going to the trouble of compiling and installing recent samba and tools you...
Don't bother checking iperf. scp is typically limited by single threaded cpu capacity. On nearly every box I have seen this tops out <150MB/s. You need to use different protocol if you want faster transfers.
The drive itself is powering down. Lots of external drives have their own power down systems/timers that are independent of the operating system. There isn't much you can do apart from keeping on accessing the drive.
You could try ddrescue. It also works with multiple drives so you might be able to get some data back. It is a reminder though that all storage media fails. Good luck!
What you might find is that the usb hub has a capacitor inside it to deal with the startup current draw. It is tricky as vendors do so many different things with the usb port hardware.
It's not strange at all. The usb port is not capable of powering the devices. Some ports have very aggressive current limiters and will disconnect any device that draws more than the limit. HDD are especially bad for this as they draw a large current on startup. Most USB hubs don't care how much...
You may be confused as to what deduplication actually does on zfs. It is a block level deduplication and probably doesn't go across the filesystem as you have it set up.
The command you are running does not preserve any of the attributes that rsync typically uses to check for different files. I would suggest looking at the man page for rsync and trying 'rsync -av' which should do what you expect.
The technique you are looking for is called RDM raw device mapping. I have done this in the past and it is ok. Now I pass entire controllers through to the virtual machines.