It's not easy to explain... Well, first of all, for "historical reasons". Dashboard is the default module. A Location header is sent if the module name is missing in the request URL.
Before the "dependency injection" refactor it was not possible to calculate the redirect on the User object in index.php, because User was not instantiated.
Perhaps we can now arrange the things differently and obtain two distinct default dashboard modules: the Admin's one and the User's one.
Another approach could be invoking the Authorization procedures to make the Dashboard plugins behave like the root level modules and allow granting/delegating them.