Let me ask if your external drive is HDD or SSD?
if all Bitcoin core data is in HDD then that might be the bottleneck.
You can try to add dbcache under the bitcoin.conf file and set it to half of your total ram memory or just 3000mb.
dbcache=4096
Or you can try splitting the data by manually add datadir on the SSD and then blocksdir into your external drive.
Check the reference here
https://github.com/bitcoin/bitcoin/issues/14595