Do not start the car and let it idle to warm up. Every owners manual says that.
Higher revs are good for immediate oil pressure and more oil circulation = less wear in the cold start phase. What I do: I start the car, rev it up just short to about 2000 RPM that the oil pressure is there, and then you should immy start driving with RPM's around 2.000- 2.500 RPM. That means that the oil is circulated faster, the engine is coming to working temperature and the coolant will come up to temp much faster.
Also the auto transmission will change to the next higher gear at a later stage when the car is not yet at temperature. You might have noticed this already.
That is also to get the cats fastest possible to the normal and required temperature.
20 minutes is by far too long. Depending on traffic it is maybe 2 miles if the street is free, but already before the needle will climb on the coolant gauge.
I think your thermostat is always fully open/stuck. No other possibility.
Change that and you will have a nice temp very quick.