This happens on other ARM devices too, and there is a kernel patch to fix it:
So we need a patched kernel to support kexec, so we can load a custom kernel? Catch-22?
I could see a multi-stage leveraged approach, where we tether boot a custom u-boot that does not need atags, and use that to run kexec to load a kernel without the missing atags problem (if I am beginning to understand how that works). At least it is a place to start looking. I hope we find an untethered boot approach instead, but this is a start until then...