I've found that the temperature precision of one decimal place is not transfered to Garmin Connect. It displays on the watch (Instinct models) but the number after the point gets zeroed. So 9.9C would become 9.0, which reduces the accuracy of the data by almost a degree.
I spoke to a programmer who looked at the raw data from an activity and confirmed that there was provision for a floating point. However, Garmin say that the FIT protocol doesn't allow for this.
This is out of my area of expertise but it does seem that there's a bug which not only prevents the temperature precision of the Garmin Tempe being fully utalised, but it's actually truncating the reading, resulting in a reduced accuracy.
I'd have thought this might be a simple firmward update but, as I say, I'm not an expert.