Ha! Lösung gefunden! Google hilft manchmal doch nicht weiter, in Blick in den Bugzilla hat es gezeigt. ;)
Es hat in der Tat nichts mit den 4096Byte-Blöcken beim Download per XMLHttpRequest zu tun (da es sich hier ja gewissermaßen um den Plaintext des XML-Dokuments handelt), sondern mit einer internen Beschränkung der Mozilla-Engine, die auf _alle_ DOM-Objekte zutrifft.
Inhalte von Text-Nodes die größer als 4096Byte sind, werden auf 4096 große Stücke aufgeteilt, die dann als einzelne Textnodes im selben Parent sind. Laut DOM-Spezifikation ist das Quatsch, aber immerhin ermöglicht es einen einfachen Workaround.
Bug-Beschreibung: https://bugzilla.mozilla.org/show_bug.cgi?id=194231
Beispiel:
<div id="test">vieeeeeeeeeeeeel Text...</div>
text = document.getElementById ("test").firstChild.nodeValue;
"text" wird max. 4096 Bytes groß.
Aber danke fürs Nachdenken! :D Komischerweise findet sich die Lösung immer erst, wenn man schon nachgefragt hat. Aber vielleicht hilfts ja mal jemandem. ;)