This is not related to the factory extension. The factory extension just adds bindings for all Func overloads which means both constructors can be satisfied completely.
With Ninject 3.0 any of the constructor is chosen if there were several with the same priority. There is no guarantee that always the same one is picked. Which one is picked is decided by the implementation of some .NET Framework functions that give no guarantee about ordering. In the worst case it means that the .NET framework version decides what constructor is picked.
Ninject 3.2 throws now an exception if there are several constructors with the same priority so that you have to configure which constructor is taken, so that always the correct one is picked.
If I were you I wouldn't use an Func as dependency but instead inject an instance of INavigationPermissionsProvider
and call GetPermissionsInt()