No. The cache is at the block layer, not the file/directory layer. So the filesystem will look up the directory structure, which will be cached.
It seems necessary that the blocks storing the directory entries are cached too. Otherwise every non-existent lookup (that doesn't hit a negative dentry) would hit disk, each separately.
So yeah, the page cache is keyed by file, but the system should still cache the directory structure.
The DDoS scenario would be doing GET requests of random nonexistent filenames. You could change the name at every step so that the check for a negative dentry is never a cache hit.
Also the page/buffer cache would probably cache the FAT direntries so probably not a huge issue here.