You seem to be adopting a very empirical approach to discovering the language specification. I don't think it's a good idea to discover how a language works by trial and error: it's better to read the specs, and/or a good reference book.
This is not how XML is intended to be used:
<doc>
A
<X/>
B
<Y/>
C
<Z/>
</doc>
Given the kind of operations you are doing, a normal design would be
<doc><X>A</X><Y>B</Y><Z>C</Z></doc>
So it's reasonable to investigate the effect of applying constructs to this XML, but you shouldn't expect that these constructs work intuitively.
In n3 you say "the interleaving elements are replaced by spaces", but as far as I can see, the spaces (actually newlines) are already present in your source document. In fact, a lot of the effects you are observing are confused by the fact that you can't easily distinguish spaces added by the XSLT processor from whitespace that's copied over from the source.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference