Another update. My VM boots fine if the kernel is booted directly, using the -kernel and -initrd options to qemu-system-s390x. However, when I try to kexec the same kernel manually, that fails somewhere in the boot process (but not as early as with grub-emu).