od0201, вероятно, "эффект", о котором Вы говорите, происходит в обработчике события "change", которое не генерируется при программном изменении значения элемента "select". Попробуйте после изменения значения генерировать событие "change" программно:
select.value = option.value
const event = new Event('change', { bubbles: true })
select.dispatchEvent(event)