The relevant text in HTML 4.01 reads, "Authors should use "&" (ASCII decimal 38) instead of "&" to avoid confusion with the beginning of a character reference (entity reference open delimiter). Authors should also use "&" in attribute values since character references are allowed within CDATA attribute values."
The word "should" is defined by RFC 2119 to mean "that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course." So it's not an absolute requirement that ampersand be emitted as the character entity reference &.
However, if you put this example literal result element in a stylesheet
you'll see this result
which is clearly not what was intended.
So it seems the full implications were not understood or not carefully weighed before choosing a different course.
I've asked Brian Minchau to put this on the agenda for the next Xalan-J bug triage call.