The cairo terminals don't respect a font style (italic or bold) which was set as terminal option for enhanced text. Consider the following example:
myfont = '"Times New Roman:Italic,30"'
set terminal pngcairo font @myfont
set output 'italic.png'
set label left at graph 0.1, 0.8 "normal text"
set label left at graph 0.1, 0.5 "some_{enhancement}"
set label left at graph 0.1, 0.2 "{/:Italic local_{enhancement}}"
plot x
set terminal svg standalone font @myfont
set output 'italic.svg'
replot
set terminal postscript eps font @myfont
set output 'italic.eps'
replot
Both the postscript and the svg output show three italic labels, whereas with pngcairo the middle one is upright.
For what it's worth, the qt and libgd terminals are different yet again.
Clearly this is an aspect I didn't have in mind when adding the italic/bold code.
Rather than putting multiple bandaids on this, I wonder if it's time to refactor the terminal font code. I've always found it a bit strange that each terminal provideds a term->set_font() entry, but this isn't actually used to set the font on entry. So there is ample opportunity for the multiple places fonts are handled to diverge from each other.
I have modified the enhanced text code in cairo.trm and wxt_gui.trm so that enhanced text processing always starts off with the font originally specified in "set term". That certainly fixes the problem in your test script, but I am not entirely convinced that the change cannot cause problems in other cases where the user has deliberately changed the font to something other than the original.
The fix is in 5.1 and may be backported to 5.0 if no unintended side-effects are reported.