The bootloader is booting the wrong kernel partition, which has an old kernel. OpenWrt only uses one kernel partition and always writes the same one during upgrade.
Install on some Ubiquiti devices includes erasing the other kernel partition to make sure the bootloader doesn't boot it.
Wouldn't that mean that upgrades fail every time? Given that I'm reliably able to sysupgrade and boot different versions I don't see how it can be since the kernel partition contains the whole squashfs right?
No, the userspace filesystem (squashfs ROM and jffs2 overlay) is always where OpenWrt expects to find it (after the kernel0). The problem is the bootloader booting kernel1 when it should be using 0.