Nothing you’ve described there wasn’t possible with spinning disks storing large data sets. In fact if anything, ZFS is ideally suited to exactly that scenario.
It all depends upon how much headroom you have, the type of io activity, etc. I've operated systems under consistent 80% io load with massive datasets at the time, under spinning disks.
Running rsync would be madness on such a system. I know. I only did it once.
As well, ionice doesn't help with this degree of load.
They’re doing it correctly and would still be doing it correctly if they were on spinning disks. ZFS is designed exactly for these types of operations.