It's incredible how everyone is failing to provide accurate and complete Information.
For example, everybody is assuming that OP knows everything about TF2's file structure.
A .VPK is a type of file similar to a .ZIP. As much of the games content as possible is stored in these files. That includes Textures, Materials, SFX, Voicelines, and a couple other textbased things.
.VPK's are split up into many smaller files which cannot be accessed individually. The _dir file basically opens all of them at once for you.
When the game is loading files, it searches in many different places, including the .VPKs. The order in which content is loaded heavily matters as well. If a file ABC.vmt exists in two different searchpaths, it will always end up loading the LAST one it finds.
The different places to search for include:
The basic game folder tf/
The VPKs
The custom folder tf/custom/mycustomfolder
Files inside these paths are all treated as if they are in tf/. Again, the only difference is the order.
For your overlay problem, you will either want to use tf/materials or tf/custom/foldername/materials.
You will most likely want to choose depending on your packing software. If you use compilepal you will have no problems using the custom folder.