Эта проблема связана с последовательностью загрузки ваших сценариев.
Скрипты с type=module
по умолчанию defer
- это означает, что они выполняются только после завершения анализа документа.
Ваш другой простой тег script
не defer
, поэтому он выполняется при его обнаружении - поэтому он выполняется первым, прежде чем вы определили свой пользовательский элемент и его методы получения / установки. Сценарий module
выполняется после того, как браузер добрался до конца документа. Однако сценарии
defer
выполняются в порядке их появления. Поэтому, если вы создадите второй скрипт defer
- либо добавив атрибут defer
, либо сделав его type="module"
, тогда получатели / установщики будут работать как положено.