To ensure that my host wasn't broken, I tried the same image on another machine, that I know can run VMs (virtual machine manager, using the GUI), but same result. One core at 100% and no change at all.
I even let it run over night, but it was still at this point.
One machine runs NixOS, the other Debian 12.
What could cause this? There are no errors in journalctl or /var/log/qemu.