Found the issue!
With the o2 sensor out the car goes right up hills and shifts fine. When I looked in the sensor hole, I could see the honeycomb material is completely clogged.
Now the question is, can I unclog this with chemicals? The car is already a ULEV... California cats are insanely expensive.
update: I ordered a new precat. Hopefully the rear cat is ok. I noticed shavings (glitter) in the down pipe as I removed the precat. I may remove the rear cat and blow compressed air through the back of it. Maybe spray some carb cleaner in there as well?