I found this way to get the root site collection url into a DVWP
There are Global parameters available but you have to mess about with the bindings to use them.
So for this one you need
<ParameterBinding Name="RootSiteUrl" Location="WPProperty[RootSiteUrl]"/>
Then at the top of the XSL (make it global to all templates)
Then in your XSL you can use it
<xsl:value-of select="$RootSiteUrl" />
That’s it. Well it worked for me, but SP2013 and designers is so damn flakey it might not work for you, this was done on a WPPage not a wiki page that causes all manner of hell using webpatrs in those things.