Is that orange O2 sensor wire plugged into the D-9 slot, D-10 slot? 87 is kind of a one off year for some of the wiring and it can be hard (impossible) to find a completely accurate wiring diagram.
Been awhile since I've looked at the plugs for an 87 ECU, seems unlikely they'd have two orange wires next to each other D-9 and D-10 with two different functions?
You may have better luck following the wiring and double checking the pin number the wiring plugs into. Double checking may be prudent. An 88 wiring diagram is likely to be close enough.
They do screw up those harnesses on occasion (lowest bidder). I've found crimps, uncrimped, with the wires just sitting in the crimp. I found the ground for the TPS sensor transmission half swapped with the TPS motor (ECU) half of the TPS. Corroded connectors is common. The wiring where it makes the bend at the firewall from the injector rail harness is prone to copper fatigue under the insulation on the individual wires.
The voltages you mention seem unlikely unless you are rounding them off. Having 5 volts to the TPS is rare, it is most often around 4.6-4.8 volts sometimes higher, sometimes lower. Battery voltage is rarely (never) 12 volts exactly.
Seems unlikely you'd be getting low voltage to or from the O2 sensor with two different ECU's, unless the in voltage is off or you have a circuit flaw that is affecting both ECU's the same way. I've never tested this voltage myself, never had the need. I pop a new Bosch O2 sensor in there every two years (smog inspection).
The only real trouble I've ever seen with this circuit is the (O2, knock sensor, engine temp) harness is prone to cook onto the exhaust where it passes through or behind the power steering pump bracket. Many mechanics route this harness wrong when they change out a water pump and it cooks on the exhaust manifold. Where it typically cooks is almost impossible to see from the top or the bottom, I've had to disconnect the sensors and actually pull the harness up to see the burn spot. Seriously the only real issue I've ever had with this circuit is bad wiring. Mileage typically averages around 15-16 miles per gallon, some people say they do much better than this, I never have.
Running rich is most times a worn out O2 sensor (or wiring issue), vacuum leak, cracked exhaust manifold or something with the MAP sensor. Maybe a leaky diaphragm in the fuel pressure regulator dumping raw fuel into the intake. A cracked exhaust manifold won't always make it run rich, but it may make it run rich. Depends on the nature of the crack and whether it venturi (sucks) extra air into the exhaust manifold or not.
I can usually feel when the motor begins to switch over from open loop to closed loop, usually about a quarter dial on the temp. gauge, maybe a little higher. When the O2 starts to crap out and sends faulty info, the motor may run lean at operating temperature, it may even buck and shake at certain RPM's and/or vacuum scenarios and may never reach the upper RPM range (above 3500 under load). When the O2 sensor is completely out of range, it seems doubtful the ECU will make the open loop, closed loop transition. Open loop is typically a slightly higher idle and runs a little richer for one thing. Just info, closed loop is incremental, it doesn't have to be all or nothing. I do a lot of troubleshooting with my butt dyno, it isn't perfect but it works.
Cruiser may be around sooner or later and have some better ideas. EcoMike pops onto the board periodically and has done some extensive O2 tests. 5-90 is pretty much an expert and may have an answer, but Kelly isn't around much anymore. I do pretty well with the hard wiring and motor basics.