Do you still have problems booting different firmware? Have you ever upgrade uboot?

If you upgraded uboot uboot-for-qca95xx/bin at master · gl-inet/uboot-for-qca95xx · GitHub

It should always boot into nand if nand firmware is there.