(2019, who cares :-)
Excellent & detailed write-up. The later ZX81 is best regarded as a ZX80 with some minor (but important!) tweaks.
Hard to understand, is effect of the semi-separated data buses (D0..D7 vs D0'..D7'). This is an intricate play between cpu, ROM code, signal timing & external hardware (external to cpu, that is).
Aeons ago I designed a ZX81 ULA replacement in programmable logic, and couldn't shake the feeling that with adjusted signal timing, it might be possible to get things working on a single 'unified' data bus. If I ever touch this again, I'd have a serious look at that.
But I suspect the way it was done, is because the signal timings allow for very slow ROMs and/or RAMs (up to ~450 ns iirc). This was important, since (to keep costs down) Sir Clive was buying memory ICs wherever he could find 'em cheap. Remember £99 for a real, user-programmable computer was the ZX80's #1 selling point.
As gxd noted, this was when people did not have computers in their homes. No PC, laptop, tablet or smartphone. NONE. Perhaps a pong console if lucky. So people were very curious & eager to find out what could be done with such a machine. Regardless its limitations, or how crappy its keyboard ;-)