I think you misinterpreted that sentence (from §10.4.3, Entering Function Code):
The following steps are performed when control enters the execution context for function code contained in function object
F
, a caller providedthisArg
, and a caller providedargumentsList
[…]
It does not mean that the function which is entered must be contained in F
, but that the code that is entered is contained in the function F
(which you are invoking).
The [[Call]]
method which is used when calling a function does not distinguish between global/local declared or invoked functions.