Сам же и отвечу, пока писал додумался.
appendChild перемещает элемент из коллекции, соответственно после первого мой цикл обратится к третьему элементу и length в конце цикла будет вдвое меньше, так как половина элементов будет перемещено.
Всем спасибо