It would, basically, though we'd need to use "html" as the MIME mode (unless we don't mind changing all the places that now neatly say "html"). The XML mode actually would register a MIME mode "text/html" if that wasn't already taken - by htmlmixed.

TypeScript doesn't have this problem for the reason you state, it simply uses its MIME type.