Update: I checked the response.responseText coming into the w parsers. These are the same in IE and FF. They both have the correct ></span> ending. For some reason, the DOMParser changes that into /> . Then, innerHTML correctly strips the / off because spans need to have content.
So the root of the issue is the code surrounding the DOMParser. I'll look into this some more.