Потому что функция - это нативный объект, который среди других свойств имеет внутренние свойства [[Construct]] и [[Call]], а также явное свойство prototype - ссылку на прототип будущих объектов. И его класс является функцией.
F.[[Class]] = "Function"
F.[[Call]] = <reference to function> // function itself
Таким образом, [[Call]], кроме свойства [[Class]] (которое равно «Function»), является основным в отношении различения объектов. Поэтому объекты, имеющие внутреннее свойство [[Call]], называются функциями. Оператор typeof для таких объектов возвращает значение «function».
см. Для справки