The router was fine. That is the part I keep coming back to. It routed packets, the wifi reached the kitchen, nobody in the house was complaining. So naturally I decided it would be better with OpenWrt on it.
The flash itself went smoothly, which is always the trap. It rebooted, came up, and then bricked itself solid the moment I tried to configure the wireless, because I had grabbed the build for a near-identical model rather than the exact one. No lights, no DHCP, no web interface. A small black box that now did nothing.
What saved it was the four-pin header on the board that the manufacturer never populated. Soldering on a header, attaching a USB serial adapter at 115200 baud, and interrupting the bootloader gave me a prompt. From there it was a TFTP server on my laptop and the correct factory image, pushed over the recovery path the bootloader exposes for exactly this situation. It came back to life at about half past midnight, and I sat there absurdly pleased with myself for fixing a problem I had created an hour earlier.
The honest lesson is not "read the model number more carefully", though I should. It is that the urge to improve a thing that already works is the most expensive instinct I have. The router is back on stock firmware now, doing exactly what it did before, and I am leaving it alone.