Puppet does not itself keep any timestamp of clients' first runs that could be queried to provide the information.
As far as i know,there isn't any module that does so, either, but it wouldn't be too hard to write your own custom module to serve the purpose.
Of course, that only helps for a given machine if the module is already installed before that machine's first catalog request.
If you are using Puppet's internal CA, you could get a lower bound on the time of the first run from the timestamp on the CA's copy of the node's signed cert.
That will often correspond to the time of the first catalog run, though it doesn't need to do. And this scheme blows up if you issue new certificates to existing machines.