I would attach a REAL OS debugger to the browser and try and determine if IE is actually spinning off a thread to execute the XHR.
This is a difficult investigation but it would explain a lot.
Most browsers do and then marshal callbacks and data back to the MAIN UI THREAD.
But IE is OLD and I do not know what it does.
On another thought.
Our LARGE company that moves slow finally dropped IE support allowing us to write decent code with promises without a polyfill.
Our codebase is slowly cleaning up other weird polyfills that we acquired over time.
For the longest time we could NOT write for (var key in thing) because a polylfill would show up in the list.
You might consider that discussion with customers.
It starts with “How about Edge or Firefox”
You can talk about other things getting replaced.
You refresh your Phone and laptop…how about the browser…
Above all good luck.