слушай, может, ты в чат жабаскриптеров пойдёшь? Я не замечал чтобы тут кто-то в тс шарил.
Я только могу предположить, что во всех вариантах кроме последнего у тебя присвоение значения переменной с заданным типом, и наверное происходит неявное приведение типов, и () => bool превращается в () => void, а в последнем варианте присвоения функции переменной нет, поэтому и приведения типов нет, и ТС честно анализирует типы функции