Temperature units use non-preferred encoding which has poor font support.
In c10fa426, the degrees Celsius and Degrees Fahrenheit units were replaced with the single unicode codepoints U+2103 DEGREE CELSIUS and U+2109 DEGREE FAHRENHEIT, ostensibly to prevent linebreaks from occurring between the degrees and C/F symbols.
However, U+2103 DEGREE CELSIUS and U+2109 DEGREE FAHRENHEIT are unicode compatibility characters, they exist for interoperability with other standards, and are not the preferred encoding if one is working solely within unicode. They have patchy font support (see eg: https://bugs.launchpad.net/ubuntu-font-family/+bug/1811538) and look very narrow in monospaced fonts even if they do have support.
Note that gnome-recipes moved to the preferred encoding of these characters in order to be standards compliant and have better font support (https://bugzilla.gnome.org/show_bug.cgi?id=783142):
In commit c39338398e2629effeabdcc05c91e244836ae7ea, Recipes makes use of two CJK-compatibility characters to represent the symbols for Celsius and Fahrenheit degrees. Those characters, U+2103 and U+2109, are not the preferred encoding to represent the symbols in Unicode text; the preferred way is by using U+00B0 DEGREE SIGN and the ASCII letters C and F. By using the compatibility characters, the application doesn’t look right as Cantarell (as well as most fonts) don’t include glyphs for those code points, so the system has to fall back on DejaVu or another font including them, which looks sloppy due to different font metrics.
If undesired line-breaks are still an issue, I'm not sure what kind of markup is used in GNOME applications, but perhaps markup can be used instead to prevent linebreaks, such as <nobr>42 °C</nobr>
or whatever the equivalent is. It also could be considered a bug in the font rendering engine to break between the degrees symbol and a C/F at all (I cannot find any standards document saying that a line break should be allowed here), perhaps the issue is more properly resolved there.