It is unclear why we have TYPE_MISMATCH_ERR. In WebKit it is used in places where we have are supposed to throw a TypeError (which is often a violation of the WebIDL spec).
I agree. We only use this in 5 places in gecko, all of which seems better to switch to throwing TypeError.
Filed bug 19921 on HTML. Any other places this is used?