My system is back up and running and the issue seems to be resolved.
To summarise what I eventually did:
I booted from a live-USB and mounted my root and efi partitions. Then I used the pacman
install from the live USB to reinstall pacman on the laptop with sudo pacman --root /mnt --overwrite "*" -S pacman
.
At this point I was able to at least get some output from running pacman
in the chroot
-ed system, but it was just errors about libraries in /usr/lib
being too short.
Lucky after just reinstalling one of them pacman
worked again and I was able to get a list of all the packages installed on my system with pacman -Qqn
.
I used that list to reinstall every package from the live-USB
cat /mnt/package_list | sudo pacman --root /mnt --overwrite "*" -S -
Thanks pebcak for that very helpful link and thanks ricklinux, your solution in said link also worked for me.