Thanks for the idea...it was sort of acting like fuel starvation, but luckily I think I've solved it without having to break out K-jet tools!
Took some time today to carefully go through the ignition system. I had good incentive to get the car running again, since it was dead in my driveway and blocking all access. I followed the ignition troubleshooting flow chart in the factory service manual, to start with.
Step 1: "Run starter and hold high tension lead from coil approx. 3/4" from engine ground. Spark available?"
>>Result: kinda sorta... spark is "available" sometimes. Although it didn't seem consistent, it would indeed arc from the coil wire to the engine while cranking. I thought maybe the issue was intermittent spark, so I proceeded down the "No" path.
Step 2: "Check if coil terminal 15 is live by connecting voltmeter across it and ground. Coil terminal 15 live?"
>>Result: yes, I got something like 8 volts at terminal 15 (power side of coil) with ignition switch in position 2.
Step 3: "Check the voltage drop across the transistor [resistor?] by connecting voltmeter to coil terminal 1 and ground. Voltmeter reading 0.5 - 2.0 volts?"
>>Result: yes, it was 1.something volts at terminal 15 with switch in pos. 2.
Step 4: "Check impulse sender [inside distributor] resistance by connecting ohmmeter across terminals 7 and 31d in removed connection plug [at the breakerless ignition module connector]. Correct value at 75F is 950 - 1250 ohms for the 240. Impulse sender resistance correct?"
>>Result: yes, I measured 1000 ohms.
Step 5: "Check for grounded circuit in coil of impulse sender by connecting ohmmeter to one of the impulse sender terminals and ground. Reading should be indefinite [open circuit]. Coil grounded (ohmmeter reading not indefinite)?"
>>Result: no, the impulse sender coil wasn't grounded when I checked. But this step did get me interested in the 2-wire harness going to the distributor. Sure enough I found them bare and touching each other right where they go into the connector. I spread them apart thusly:
After this, the B20 fired up and ran fine. No random stalling, no misfiring. So I'm pretty confident it's mystery solved. I should probably figure out a way to heat shrink or otherwise insulate these two wires so they don't short anymore.
In the process of checking all this stuff I removed the ignition module, cleaned behind it, cleaned all the pins in the connector and the module, removed about 5 lbs of dirt from inside the shock tower, cleaned up all the grounds in this area, and reassembled.