While I've made progress on this, I still can't see the results - even though the theory is sound.
I was reminded that the XSL is just referring to whatever is in the XML.
So I ensured that the report includes application and session information; I've included a hidden item on the page that is computed on entry, and I can see the (unpopulated) XML element when I download the XML.
However when I run the report from the page, the item is still empty when I try to refer to it like this:
I did think perhaps the value was just in memory, but I ensured the "Run report" button is submitting the page, and I can also see the value in wwv_flow_data - yet the value still won't show on my XSL report.