Old project works without changes to #include, new project breaks!

So I have a slightly older UE4 version project that I want to take the Plugins from, it’s just a template project but I don’t want to start with it, my new project is already started with other things in that I need. In the old project, I right click the UE project file and tell it to create a Visual Studio solution. I then build my project which goes without any errors and it launched into the latest UE4 version, no problem.

That project has things in the Plugins folder that makes use of some UE #include files such as ModuleManger.h and some others. The #include entries for these includes need no prefix directory to build in the latest UE4 without error.

So now I want to make use of the template in my own project, also in the latest UE4. All I need is to copy the Plugins folder and then I can reference things in my project. Step one, just copy the Plugins folder, (no need to try and reference anything in it yet, see if the project still works). Now my project won’t load in UE4, it suggest building via Visual Studio. So I do that and now there are errors in some #include entries from source files my copied Plugins directory.

Both are now in the same version of UE4 and both have an identical Plugins folder content.

Yes, I know that I can easily fix this by adding the correct prefix directory and yes, that works. But why does the old one work without doing that (and what/where is the mechanism that’s being made use of)?