Temperature recorded for runs is ALWAYS incorrect

On every run that is recorded the temperature that is recorded is hours in the past. I can look at the current temperature on my watch and it’ll be 15 to 20° less than what the watch says it should be in the next hour that is coming up. It’s super frustrating when training in the summer when temperature so affects a pace and heart rate. I do not understand how this can be so inaccurate?  This should be something very simple to fix, but I think that goes for a lot of the software features that Garmin has support for.