disable-output-escaping is a serialiation feature so it does not help for in-memory nodes you want to pass on to a second transformation step in the same stylesheet, you would need to use two stylesheets where the result of the first is serialized first before being fed to the second.
As you mention Saxon, I would however consider using the commercial versions and the extension functions or XSLT/XPath 3.0 functions like [parse-xml][1]
or [parse-xml-fragment][2]
offered to simply parse and process the contents of e.g.
<xsl:template match="blah">
<xsl:apply-templates select="parse-xml-fragment(.)/node()"/>
</xsl:template>
As an alternative, in Saxon 9.1 B there is an extension function available even in the open source version.