Я думаю, что причина этого в том, как IE определяет insertBefore.Только в IE вы можете передать только один параметр в метод insertBefore, и он будет вести себя так же, как appendChild.Я думаю, что они делают, это вставить его, затем переместить его.Если они рендерится в точке вставки, тогда это будет рендеринг должным образом.
Единственное, что я могу придумать, это следующее (что не идеально):
var link = document.createElement('link');
var style = document.getElementsByTagName('style')[0];
var newstyle = style.cloneNode(true);
link.rel = 'stylesheet';
link.href = 'test.css';
style.parentNode.insertBefore(link, style);
style.replaceNode(newstyle);