A consumer grade GPU comes with a cooling solution on it that should have no problem cooling the card at 100% load. They certainly are rated to work with way higher surrounding air temp than 20C because they are meant to be put in PC cases and the air inside the case is warmer than outside. also they work fine during a heat wave in summer where the room temp can be significantly higher than 20C.

Having the cooling solution not pushed to the max surely has benefits, especially noise reduction and less wear on fan bearings for example. Thats why people build custom cooling solutions.
Whether the GPUs are rated to work at -10C however is questionable. Usually electronics for indoors use isn't mean to be used below 0C.

>I assumed that the amount of air used by the ventilation system of the whole house is enough to keep the miner pretty cool. The GPUs would get hot, but since a lot of air is moving through the outside of the miner would not get very warm at all.

The die in the GPU will reach 70C maybe 80C anyway and radiate heat away in all directions heating up the box its in and the box again radiates away the heat + natural moving air around the box picks up the heat.
The temp difference matter, the higher they are the more heat is exchanged. So the colder it is outside the more heat is lost. The speed at which the air cools the miner can not fix that. If you assume near infinite airspeed/volume so 99.99% of heat is picked up by the air and blown into the house, that would just mean the air that reaches the house is basically as cold as the outside air because finite energy has been deluded by near infinite volume. That does not work. the air speed/volume has to be low enough to significantly warm up and if that happens outside then energy loses are inevitable.

>...as typically the heat exchanger is very close to the air intake, to avoid long ducts with cold air inside the house.

so the heat that goes into cold air ducts is lost? I thought it would preheat the incoming air just like the miner?

Actually it is not lost but unwanted because there is a heat exchange specifically mean to heat the cold air with the warm air that leaves the house not with warm air that stays in the house. Also preheating the air makes the heat exchange less efficient because it works just like the warm box outside, more heat is exchanged the higher the temp differences are. So you want cold air coming in the heat exchange so it can pick up as much heat as possible from the warm air that is blown out.
If you would feed the heat exchanged with warm air it becomes useless and the air going out will still be warm.

The heat exchanger oblivious can not heat up incoming -10C to 20 and cool down the outgoing 20C air to -10 but if you assume such a 100% effective heat exchanger, it becomes obvious that the warmer the incoming air the less heat is exchanged.
At 20C it would have no effect at all despite the imaginary 100% effectiveness.

So the authors first idea to heat the air that leaves the house via heat exchanger is way way more efficient. Not only is every heat "lost" still inside the house thus not lost at all, but it also raises not lowers the temp difference in the heat exchanger which means it becomes more efficient.
Even better would be to reduce the additional heating his ventilation system does, after the heat exchange and replace that with the mining rig. And by reducing I mean the final temp of the air coming out should be lower and the additional warming should be done by the miner. However this may not be easy to implement. The miner would need to be in series with the ventilation system. Also I dont know about the characteristics of the ventilation system but I assume it sometimes turns off which would then potentially cause the mining rig to overheat. The miner just in the room would not be affected if the ventilation goes off for a while.
So the original idea of simply heating the room where the warm air is sucked out is probably the simplest and most effective solution, certainly better than heating the outside.