k, I think it's the mtd-utils update to 2.0.2 that broke it.
more specifically:
http://git.infradead.org/mtd-utils.git/commit/dede98ffb706676309488d7cc660f569548d5930
this changed the errno code to ENODEV instead of ENOENT. This would be innocent enough, however this will break the ubi volume enumeration code... since it still operates on the ENOENT error.
http://git.infradead.org/mtd-utils.git/blob/bc63d36e39f389c8c17f6a8e9db47f2acc884659:/lib/libubi.c#l1331
TL;DR: the kernel partition gets removed alright... But this completely kills the volume name lookup. so ubimkvol will fail and the sysupgrade is aborted. The device reboots but it can't find any kernel.
Yeaah, this is probably going to need a fix. That said, other devices are likely affected by this as well.