You say that even automount causes problems. You should look for a backup HDD before data loss. You should read out the SMART values.
Either way, disconnect the external HDD from the PC and check whether shutdown still causes problems. At least I know the problem myself from problems with external storage.
Either way, you can only guess without any information. Logs would be more helpful.
(systemd-analyze blame)
journalctl -b -1
systemctl --type=mount --all
systemctl --type=service --all |grep running