When I add the --append option to kexec, i.e. when I do kexec -l /boot/vmlinuz --initrd=/boot/initrd --append="" instead of just kexec -l /boot/vmlinuz --initrd=/boot/initrd then the issue disappears. Seems to be a bug in kexec, something like an uninitialized data structure.