XSLT hasn't been designed for maintaining a continuous and incrementally updating relationship between the input and output trees.
Not true (at least for XSLT 1; can't speak for XSLT 2). This is exactly what you need for an XSLT-driven XML editor, which was certainly one of the things XSLT was designed to enable. It is the reason why certain useful features were left out of XSLT (result tree fragments as node-sets). There have been implementations of this.
James