@electrozone: Thanks for the NAND dump.
The bad block table seem to be in erase block 5 on your Dingoo, instead of erase block 4 where most Dingoos have it. Usually, block 5 is the first block of the read-only part of the native OS (Z:), I don't know if that area is moved on your Dingoo or whether it is smaller.
What is very strange, is the contents of erase block 1-2 (mtd1.img). It looks like the native OS loader, but only 128-byte fragments of it, where one would expect 2048-byte fragments. So there are big gaps in the loader code. Does the native OS even boot on your Dingoo?
Which ILI are you using? Knowing that would save time not building 3 different kernels when we want to do more tests.