The dash is a shell in Ubuntu, and you can search in the shell, but not very good with the shell.
You use locate, find, which, whereis and so on, to search for files, and you can do it from the dash, but it would work the same way as in other shells, like bash or zsh.
I don't know how the 'recently used' search works on windows, but I guess the programs have to use a certain library, to work that way, and I see multiple problems.
If you start a program on linux, this file is read, some libraries are read, configurations in /etc/foo or ~/.foo are read, or maybe both. A single program can open hundrets of files, but most of them without the intent to modify them. But it can be filtered, such that only files, opened with the same file-open-dialog get protocolled.
But that would mean, that files, opened written with the gtk-toolkit would be protocolled, those written with Qt wouldn't.
But if they are moved with some tools, filemanager, command in the shell - the system will not update that change.
The same problem ocucurs, when you use removable storage like USB-Sticks, or modify files in the cloud from a different working place.