The GRUB welcome message appears, and disappears after a moment, then there is a blank screen. However, it still responds to Ctrl+Alt+Del, in the same way as this question.
My issue has all of the symptoms of when GRUB was installed for BIOS instead of UEFI, but my motherboard doesn't support UEFI. I have confirmed this using the output of dmidecode -t 0, which does not mention UEFI. Running the same command on a PC that does support UEFI yields UEFI is supported at the bottom of the Characteristics section.
Just in case it's relevant, I followed this guide for using ZFS as the root file system on Arch. I don't think ZFS is the issue though, because I don't get to the GRUB menu screen, let alone mounting filesystems.