The reverse rootfs/uimage order must be put in there for some reason. I'd imagine to stay close to some original device firmware layout. It has been there for a long time. However, after a quick look, I can't immediately find the need to support that with the commits surrounding the introduction of that code.
The issue with non-aligned partitions could also arise later in the process, when splitting off the rootfs_data partition. The code rounds the end of the squashfs up to the next erase block. Using a firmware partition at 0x0c3000, rootfs_data was placed at firmware+0x5f0000. As a result, the DEADC0DE marker was 0xd000 bytes into the jffs2 partition, resulting in the initialisation failing.