Always such detailed info! Awesome Martin.
If you want to visit Uruguay, do it on a one or two day excursion from BA. Buenos Aires to Colonia by high speed ferry. Have a look around Colonia, which is a quaint colonial town, then bus to Montevideo. Frankly one day should be enough, then bus to Punta del Este if you have time. The summer season should just be starting so there should be lots to do. It's South America's equivalent to the Côte d'Azure.
Fllights from BA to the Falls, whether on the Argentine, Paraguayan or Brazilian areas (Triple Frontier)are fairly inexpensive.
Arrive in São Paulo and get out as soon as you can to Rio
Personally, I'd take a look around Sao Paulo for a day. Though it may be huge and lots of it not so attractive, I think, if you're there, it's worth seeing. It is an incredible city in many ways.
Going down to Rio Grande do Sul back up to Iguazu I think you'd be traveling more northwest then west. It would make more sense to carry to Uruguay if you really want to check it out, no? You'd almost be there at that point whereas you'd be backtracking by heading back up to Iguazu..... I think you could do a loop either way. Personally I think I'd try to take in a bit more of Argentina.
You could fly into Sao Paulo
Fly to Iguazu
Fly to BA
From BA if you have the time try a cheap flight to northern Patagonia? That would be excellent.
If not, BA into Uruguay onto Montevideo and Punta Del Este ( pretty touristy but maybe you don't mind)
Then up the coast back to SP
Uruguay, from what I know, doesn't seem overly exciting. Some very nice countryside to explore and the top spots are quite crowded with tourists. Perhaps exploring more of Argentina would be more gratifying (??), and then maybe you can fly back to SP from BA.
Just some suggestions. It's hard to know exactly what to suggest as you have your own interests, travel style etc. Plus, depending on what you want from your trip, sometimes backtracking is the only way