Both variables are "node-sets" (node sequences in XSLT 2.0 parlance). But each of them holds a single node, and they hold different nodes, so the intersection will be empty. Perhaps you are making the mistake of thinking that intersect compares nodes for equality rather than identity.
I think that what you are doing is probably a join rather than an intersection: the usual way of speeding this up in XSLT is to use keys.
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference