Какой то натянутый интерфейс.
Если вам нужен только тогда, когда 1, то зачем кликать? Это лишнее действие. Просто при поиске проверяйте количество найденных и берите его, если остался только один. Да и зачем тогда селект. Просто в списке искать и показывать, когда один остался.
А почему только один?
Допустим осталось в селекте 3 или 5 или 10, и человек видит то, что ему нужно, почему он не может кликнуть по нужному и не вводить дальше.
В любом случае событие 'click' даст нужный элемент
<body>
<input autofocus type="text" id="select_filter" placeholder="Введи текст для поиска" />
<select name="select" id="select_region" class="geo_select">
<option value="" hidden>Оберіть регіон</option>
<option value="1" >Харьков</option>
<option value="2" >Хмельницк</option>
<option value="3" >Хмарцизк</option>
</select>
<script>
const regionSelect = document.getElementById('select_region');
const regionFilter = document.getElementById('select_filter');
const optionsArray = [...regionSelect.options];
regionFilter.oninput = function(e) {
const val = this.value.trim();
const regexp = new RegExp(val, "ig");
regionSelect.options.length = 0;
optionsArray.forEach(elem =>{
if (elem.innerText.search(regexp) !== -1){
regionSelect.appendChild(elem);
}
})
};
regionSelect.addEventListener('click', () => {
console.log (regionSelect.options[regionSelect.selectedIndex].value)
})
</script>
</body>