The fact that it works, (and HTML `compatable' XHTML relies on this) is a complete and utter bodge.
Another reason why sending XHTML as text/html is rather pointless. Send it as application/xhtml+xml, (which is what it is supposed to be) and as soon as the file fails the XML well-formedness checks, the browser can (indeed, must) throw an error and can stop processing. If it is well-formed, the file should be rendered quicker than a HTML version.
With all the work that has gone in to computer compilers over the years, throwing errors on syntax errors has always been the thing to do, instead of making guesses about what the writer meant to write.