You bring up a falacy here which I see a lot.
>> "If they put even a portion of the funds they would have spent into funding said free projects"
That's not how govt, or even private, spending works. Govt spending doesn't say "hey, we saved money not buying windows, let's donate money to the Linux foundation". Assuming they save money at all (after retraining, support etc) it simply gets put back in the pot to be spent, or wasted, on the next thing.
Donating from govt funds is really hard, and is frankly just too much like hard work.
It's the same for business. We use free software all day long, but money saved there goes to lots of things, actually contributing to Open Source is an uphill battle.