Почему событие onchage не срабатывает для select?
Есть события: click, change, input и т.д.
Привязка обработчика соответствующего события с использованием атрибута тэга осуществляется с приставкой on:
<select id="selectTheme" onchange="alert('Theme changed')">
</select>
Но в тоже время, привязка обработчика события с использованием addEventListener не требует указания on, берется само название события и с названием атрибута не нужно путать:
sel.addEventListener('change', (event) => {
    	alert('Theme changed');
    })
Потому что событие называется change.