This issue looks like it was a problem with the 19.07.2 setup I was working with. In this setup, I had backported commit https://github.com/openwrt/openwrt/commit/d7f21940bcaf70ba404d354c7fa6519c1717d00a to my build branch.
That commit was treating all w25q256 spi-nor flash cards in the same way, and that is wrong because there really are 2 different versions: w25q256jv and w25q256fv. The correct way to handle these is implemented in the following fix instead: https://github.com/openwrt/openwrt/commit/4745969ad7c0cb65f55c8de1f05eba786ca27f71
Now, the issue I was seeing was happening when 4byte opcodes were unconditionally enabled on a system that had a w25q256fv (which doesn't support all 4byte opcodes). In this setup, the spi-nor allows read operations, but all write operations are ignored... so, any attempt to e.g. format the mtdblock6
partition would not do anything, as originally reported.
E.g. the following line is indicating that after erasing, the word is not 0xffffffff, it still has some other value, effectively reporting that the erase is not being done.
[ 75.492541] jffs2: Newly-erased block contained word 0x19852003 at offset 0x01650000
TLDR; when 4B opcodes are enabled in the w25q256fv, no write will be done in the spi-nor.