5.9 started idling quite high

They're notorious for TPS failures. They wont set a code often until it totally craps the bed. I was going to suggest the "tap & wiggle" test to see if it affects it. If you have access to a scan tool that can data stream look at the TPS Voltage at idle. It should be near a half a volt.
It sounds like you found your culprit.