I agree with everything you said, but if you are just warming it up with a frost plug heater, wouldn't you be warming (and later cooling) the air inside the engine at the same time? You need a difference in temp for condensation to form. BTW My point on the glasses (poorly written) is that when you go from warm to cold you get no fogging (condensation), but when you go from cold to warm moist air you do.
P.S.I dont think a preheater on a timer is going to have much effect on exhaust systems.
The exhaust system comment wasn't really related to the topic...just an aside. More on that in a bit...
Warming up the air releases moisture...as the environment cool, that moisture condenses...normally on a surface.
I don't use a block heater on my tractor, although I did on an old Chevy pickup years ago (the old 6.2 liter diesel). Always ran the truck after using the heater, so this doesn't aply to Foggy's question, exactly.
Now, back to exhaust systems...although a bit off topic. Some folks, including me, would let their vehicles idle for a period of time...just to warm them up (no intention of actually going anywhere) or keep the battery charged.
All that moisture produced by the engine heating would end up in the exhaust system. As long as one ran their vehicle long enough, or drove 5-10 miles, no problem...the moisture would be dissipated by the heat.
But a relatively short run or idle time would not dissipate the moisture...caused premature rusting in the exhaust systems. As a lot of newer systems are aluminized steel or even stainless steels, this isn't the problem it was in the 60's, 70's and 80's.
I haven't idled a vehicle in years, just to warm it up...nor do I start my tractor unless there is a need for usage. I wouldn't use a block heater either (if I had one now) just to heat the engine either. But a lot of folks did...maybe still do.
Now, for me, it's idle for 5 minutes or so, then drive with no load until everything is warmed up.