> не понимаю, почему не работает 2й.
document.querySelector('.layers__container').style.transform = `rotateX(${moveY})`
document.querySelector('.layers__container').style.transform = `rotateY(${moveX})`
Потому, что ты перетираешь значение style.transform двумя разными значениями, второе заменяет первое.
> метод Object.assign инлайново прописал для documentElement АТРИБУТ style.
Не совсем, он буквально сделал:
document.documentElement.style.prop1 = "value1";
document.documentElement.style.prop2 = "value2";
Сам он ничего не прописывал, это уже логика работы DOM ноды и ее API.
Просто прочти документацию к Object.assign, лучше в отрыве от DOM API, ибо у DOM API и его объектов есть свои магические методы, геттеры, сеттеры и прочее:
> console.log(Object.entries(document.documentElement)) то выведутся все пары ключ+значение
У "простых" объектов - да, но все сложнее. Если посмотреть MDN описание для Object.entries, то можно увидеть, что он отдает только перечисляемые свойства: An array of strings representing the given object's own enumerable string-keyed property keys.