OK I've found the issue is present only when using the SimConnect (or SimConnect + FSUIPC). I changed the interface option to FSUIPC and everything is working fine right now.
Some test results:
Location: somewhere at the boundary between Peru and Bolivia, @ FL390
with SimConnect -22 deg C
with SimConnect + FSUIPC -22 deg C
with FSUIPC -47 deg C
from NOAA weather chart -52 to -53 deg C