Честно говоря не знаю, что там за косяк в IE.
Но в любом случае IE11 сейчас уже не стоит того, чтобы лишний раз напрягаться.
Сделайте к примеру так:
.element::before {
--this-font-size: 2em;
font-size: 36px; // Для ишака
font-size: var(--this-font-size);// Для нормальных браузеров
}
IE не понимает переменные, поэтому использует определение в пикселях.
ЗЫ
Можно не определять переменную, для краткости, и использовать параметр по умолчанию:
.element::before {
font-size: 36px; // Для ишака
font-size: var(--fz, 2em);// Для нормальных браузеров
}