I like to think of like this:
The database folder isn't required for your application to run. Some applications don't require a database, (i.e: a static website).
So since it isn't required, it doesn't have a reason to be namespaced. We use namespaces today so that things like composer can autoload files. We give the file the same name as the class, and composer does the rest.
The database folder doesn't have this, it has a different file name to the class name. But if you look in your composer.json file, you'll see the database folder is autoloaded using classmap. Classmap just looks for files ending in .phpor .inc.
Migrations are really a one time thing, you create the migration, migrate it and that's it. There's no need for your application to drop the tables on every request and then re-migrate.
I'm not sure if namespacing is slower, I personally would say it is since it's checking the filename and class name, but again, i'm not certain.
That's how i like to think of it. If anyone else can correct me or improve my comment, feel free.