You are correct, you have to keep your temporary files off the array, cache only. I have two pools plus the array. Cache, buffer, array.
Sabnzbd downloads to the 2tb buffer (which is an unprotected 2tb nvme), it then unpacks it to the 1gb cache (a pool of 2 1tb $45 inland nvmes). Files are unpacked into the appropriate folder /linuxisos/ubuntu for example, which are created on the cache, then moved overnight to the array by mover.
I bet some of your slow speed is the downloader unpacking a file, and writing it to the same drive. You get much better speeds downloading to one drive or pool, and writing to an another.
Look at YouTube videos by space invader one about how to set up cache pools using zfs, or converting existing cache to it, and I think he has some about optimizing downloads as well.
All my drives came with a sticker from WD with the serial number on the back of each drive. I am able to open my hot swap bays just enough to the number without disconnecting the drives.
Once my server was up and running I took a snapshot of all of the drives, shut off the server, and rearranged them from top to bottom following the order on the list. So disk 1 is in slot 1 and so on.