Yes, it's an admitted fault that XML::LibXML isn't fully compliant to the DOM. The problem is we had to write our own DOM methods on top of the library, because libxml2's idea of "dom" is not the same as the W3C's (because of several reasons I won't go into). If there are areas you consider us particularly lacking, then please submit a bug on rt.cpan.org
However now there's a new contender - XML::GDOME, which builds on the libgdome library to provide a full implementation of W3C DOM level 2. If it's conformance you're after primarily, I'd go for GDOME. However I really think you'll miss access to XPath (though that's intended to come with the next release of XML::GDOME, so you may not be waiting much longer).
As far as XSLT goes, you really can't beat XML::LibXSLT for performance and compliance. It's almost as fast as MSXML's XSLT implementation (the known fastest one), and supports exslt extensions and a number of other niceties.
Also, I have yet to try it, but I hear XML::GDOME can now convert a tree to XML::LibXML format, which will allow you now to use XML::GDOME trees in XSLT transformations. Neat huh?