My guess is that the xway_nand.c driver was written at a time, where the kernel did not support some of the nand chips that have drivers now in the kernel.
I discovered that the reason for sysupgrade not working for my fritzbox 7490 is the hardcoded ECC settings in the xway_attach_chip method in xway_nand.c.
If I make that function a noop, the nand ecc errors are all gone and the device even boots from nand. My device has Micron NAND chips which have hardware on die ECC.
Now I wonder how to resolve this. Are those hardcoded settings still needed? If yes, there should probably be another way e.g. in DT to overwrite the NAND chip driver settings?!