Нужно взять .innerHTML у тэга, затем удалить тэг и после вставить сохраненное значение обратно в нужное место. Либо можно через регулярное выражение убрать лишний текст. Но первый вариант правильнее.
for(const child of elem.childNodes) {
frag.appendChild(child);
}
Если дочерних элементов несколько, будут проблемы - обход коллекции с одновременным удалением элементов (элемент не может присутствовать одновременно в двух местах, при добавлении во фрагмент из childNodes он будет удалён) приведёт к тому, что каждый второй элемент окажется пропущен, и в конечно счёте, удалён вместе с родителем.
Есть варианты:
while (elem.firstChild) {
frag.appendChild(elem.firstChild);
}
// или, без фрагмента
elem.replaceWith(...elem.childNodes);