Почему в данном примере логические операторы так отрабатывают?
Так в чём проблема? 99 и 10 не попадают в диапазон, if не срабатывает, выполняется код в блоке else, всё правильно.
let num = 85;

if (num < 10 || num > 99) {
    alert('Число не попадает в диапазон!')
}
else {
    let sum = Number(String(num)[0]) + Number(String(num)[1]);
    if (sum <= 9) {
        alert('Сумма цифр однозначна')
    } else { alert('Сумма цифр двузначна') }
}