The NEC does not allow 20 amp continuous loads on a 20 amp branch circuit. It requires an 80% limit. See 210.19(A)(1)(a) (2020 NEC).
Any load that is continuous for 3 hours or more must be up-rated by a factor of 1.25 to create this 80% headroom.
This headroom is needed not for the wire, but because normal breakers are not listed for continuous use at their rated trip point. They are 80% breakers. So a 15 amp breaker is only rated for 12 amps continuous, and a 20 amp breaker is only rated for 16 amps continuous.
The real-world duty factor of a 20 amp branch circuit in a home is complex, but it's never 20 amps constant unless the circuit is overloaded. Consumer devices are built to these limits so hairdryers on 15/20 amp plugs don't go over 16 amps (120x16 = 1,920 watts). Bathrooms must have 20 amp circuits per NEC.
To create a constant 20A load for an extended period to generate maximum heat, one must have the perfect combination of constant load devices like light bulbs that add up to something near 20 but not enough to trip the breaker for hours.
So the heat on a normal 20 amp residential circuit won't normally ever be from a 20 amp constant load, without intentionally creating the perfect load. Any random combination of consumer devices will either go way over 20 and trip the breaker or be likely under 16A.
So real-world wires in real-world homes are more than a little hard to find at over 16 amps.
At 16 amps. and .0018 ohms per foot, we have I²R = .46 watts per foot. In Romex where we have the current going both ways in two wires, we have about 1 watt per foot of internal heat in the cable.
I do not know how to calculate the heat dissipation of Romex and the steady-state temperature from this, but I've never felt a Romex wire that felt warm.
So I ran a test using a hair drier on a 20 amp circuit where the 12 gauge Romex was exposed.
Wattage was measured at 1355 W and voltage at 122V (123V before turning on). So 1335/122 is 10.9 A.
Using an IR thermometer I measured the basement floor at 66F and the plywood sheet on the wall measured 72F.
After running for about 30 minutes, with the small gauge cord wrapped up to generate more heat, I measured the heat of the coil at a max of 90F. It felt noticeably warm.
The #12/2 Romex stapled to the plywood was registering 76F (+4F rise from 72) but this was too small for me to feel any heat by touching.
The plug of the dryer when I removed it was the hottest at 128F!
Conclusion.
So this 11 amp test on a 20 amp #12/2 Romex branch circuit stapled to plywood saw a 4°F temperature rise in 30 minutes of the outer jacket. No clue what the inner wires were running but I would assume much hotter. It didn't seem to be changing so a longer test I do not suspect would produce much difference in the numbers.