You may be running rich, but you may also be blowing the carbon (that came with the new to you truck) out of the pipes. I'd guess a bit of both.
Andrew, you've done wonders in getting the truck to burn fuel well with your cold air intake/high flow filter and higher voltage ignition coils/zero resistance wires/wider spark gaps (I think you've upgapped with torquemaster plugs, right?) - more/denser air and bigger spark will cause an unmodified computer to deliver more fuel to stay at 14.7:1.
Check a scan tool for how many grams of air per second at hot idle the MAF says the engine is sucking in - it should match the metric displacement of the engine (5.4L should suck 5.4g/s, 3.5L should consume 3.5g/s); if it's higher, as I suspect yours might be, that's part of why your mileage has dropped. That air goes through the 8 cylinder air pump under your hood and hits the o2 sensors, which makes the computer go "waitasecond, that's more oxygen than is supposed to be there! I need to pump more fuel!!"
as I've said previously, we have to take control of our computers with add-ons like the EFIE and MAP mod. the EFIE allows you to trick the computer into NOT sending as much fuel to lean out the air-fuel ratio (maybe up to 18 or 20:1) based on the o2 sensors, by telling it there's less oxygen present than there actually is. The MAP mod allows you to alter the timing for optimum power from that "lean" charge. (among other things that help control injector pulse duration)
My experience is such that the groove with ignition improvements causes an improvement in efficiency, but I've fine tuned and improved the system for consistency with EFIE and MAP mods. You're halfway through the process with this truck, give or take. now get that groove on. Don't make one of us come down there! ;-p