No. This is only true for things that are arguments to the function. When impl Trait is used as the return value, it is an existential type and not a generic parameter.
The difference is that generic parameters are chosen by the caller, whereas existential types are chosen by the implementer.
Unfortunately you can't currently implement this trait without letting F = Box<dyn Fn(A) -> R> because the existential associated type feature is still experimental.
The choice of return type might depend on the choices of generic parameters, but exactly how they depend on them is up to the implementer. The caller cannot say F = ThisClosureOverHere like they can with generic parameters.