Another update... after swapping in shift solenoids, driving for a while, shift solenoid B code came back again. D'oh.
Hoping to get a TCU module from scrapyard. Watched scrapyards for Legacy with Gen 1 electronic engine controls and phase 2 auto trans, nothing for weeks. Finally a Imprezza with EJ22 and phase2 auto comes in, 2000 model year, manuf date 2 months different from my Leggy. The TCU mounts different, but plugs are the same. I grab the TCU, 26 bucks. Also grab 2 id plates from Imprezza, to compare to mine. Transmission type is 10 characters, first six are same, last 4 are different.
Check engine light is on. Remove battery cable, swap in TCU, move modules around a bit behind knee panel to accommodate different mount. Connect battery. Check engine light is out - good sign so-far. Drive car a few 10-mile round trips to relatievs house and back, no light and no funny shifting. So far.
EJ22 TCU does seem to be programmed for higher shift points, engine now revs to 2200 rpm with mild throttle before shifting, a few hundred higher than before tcu swap. Full throttle acceleration still revs over 4000 before shifting. Since this car and old TCU used to be EJ25 and are now EJ22, maybe this changed TCU is a good thing.
Swapping that head-gasket puking EJ25 for the EJ22 was a good thing. The car gets better mileage, and although it was no hot-rod before, is still no hot-rod. A Legacy wagon with old school natural aspirated engine is not a go-fast thing in any form.
As far as scan-tool, I'm using a dirt-cheep ELM327 cable and free scanmaster ELM software that came with it. It works, has some useful features such as monitor engine parameters, and reads and clears codes. It cost less than 10 bucks to my door.
I'll post further findings...