I changed from a 5 year-old 2TB external HDD to a recent 4TB external HDD and I think the problem is still there. I haven't experimented much today... I have already spent ~ 3 mBTC in the past two days in bitcoin fees
You can use testnet and save your bitcoin, but you'll spend some time for setup

Looks like my guess isn't right since it's far from 100%. Sorry, but i can't anything else that might causes the problem.
I realised that "iostat" gives the average I/O stats and not the instantaneous ones. I moved a large file from the external HDD into my laptop's SSD and saw that it averaged around 30 MB/s
avg-cpu: %user %nice %system %iowait %steal %idle
4.3% 0.0% 3.2% 24.5% 0.0% 68.1%
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sde
293.00 36.0M 0.0k 36.0M 0.0k
If the problem is I/O speed from the drive, I am not worried because I will launch my app on AWS with an SSD... I am more concerned about excluding other causes.
Based on average read speed, do you use USB 2 (whether the port is USB 2 or the external HDD uses USB 2) ?