I’ve found something of a workaround after looking at this post.
I can create a second, parallel repeating row of singlestat panels and set Vizualisation > Show to Name. This way, the panel text displays the query Legend value, which I can set to {{instance_id}}.
However, this isn’t ideal because, once my singlestat panels repeat on to a new line, the corresponding instance ID panels won’t appear next to them. This solution only works where I have one line of repeated panels which won’t always be the case.
It seem like __series.labels. should allow me to accomplish this but the documentation implies that it only works for URLs, where I can’t seem to get it working anyway.