You can use the (:any)
placeholder to catch all routes after the domain and until the next slash.
Then try to find a page with that slug.
Note that if you happen to have duplicate slugs under different parent pages, such pages wouldn’t be accessible anymore or rather, your route than would only deliver the first match, e.g.
mydomain.com/blog/example-slug
and
mydomain.com/otherparent/example-slug
However, this shouldn’t be a problem if you just want your blog posts to be available without the blog bit.
The code you need would be basically like in the old Kirby 2 docs, adapted to Kirby 3:
Here is similar code for Kirby 3: