The SNES processor is a 65C816, and the first thing it does on power-up is pretend to be a 6502. The emulation bit E starts set, forcing 8-bit registers and pinning the stack into page one — the documented 6502 machine compIle 13’s NES core matches (ADC verified 10000/10000 against the Harte oracle on the real binary). Everything the 65816 adds is behind that bit; clear it and a wider machine appears. This is why the permutation is real: the SNES CPU contains the documented 6502 as its ground state. (One honesty note carried from dart 469: the 65816 is a 65C02 derivative, so it is not bit-identical to the NMOS 2A03 on the undocumented opcodes NES games sometimes use.)
The demo shows that with E=1 the accumulator masks to 8 bits and the stack pointer lands in page one — identical to the 6502: live demo
“The SNES and NES CPUs are different chips.” — the SNES CPU boots as a 6502 and only becomes more on command. cited
A wider processor that powers on wearing the older one’s face — the SNES CPU is the NES CPU until told otherwise. superset
On the canonical compiler, with E=1 the accumulator masks to 8 bits (0x1234→0x34=52) and the stack sits in page one: