Правильно ли будет, если в методе addNewElement() я буду использовать стандартные методы работы с DOM-деревом?
Конечно нет.
Почему бы вам не хранить данные компонентов в data? И соответственно выводить их циклом. Добавление компонента будет сводится к добавлению элемента в список.
Ну по крайней мере на первый взгляд это кажется правильным. Не зная точной задачи.
Это не Vue =)
Это Ecmascript (javascript) по версии 2015 (es6)
Да, это стандарт языка, но браузеры его не поддерживают еще (не весь новый стандарт, я сейчас об импортах говорю). Поэтому при использовании нативных модулей нужно собирать их каким-либо бандлером. Например вебпаком.
Про трансляцию вы правильно понимаете. Только не в "нативный js" (это и так уже нативный js), а в js поддерживаемого браузерами стандарта - ES5