Update on resistor:
I knew the fan resistor had an issue because there was voltage when expected on one side, and nothing on the other. The fan worked (on high) when I jumped around the resistor.
Well, it turned out the resistor was cracked in several places and had infinite resistance. The part number I found was 94812213, purchased on Amazon.com. The corrosion on the electrical attachment screws was epic, so I had to cut the wires and install new terminals. Then I re-installed the resistor and the low speed fan selection is working again.
Just a note: This failure is not detectable by the ECM, and no codes were current or pending. Furthermore, the corrosion was nasty and I couldn't get the screws to budge, meaning a roadside repair is generally not possible. For this reason, if I were going to install only one bypass, it would be on the high speed side, where there isn't this problematic resistor involved.