It does this because DotNetNuke is installed in the DotNetNuke folder of your site. Your URL of www.mydomain.com points to the root of the site, which doesn't have your code. Since the code is in a subfolder, your site redirects to the subfolder, when the page runs.
And this isn't causing a slow load of your site. The first reason for that is that ASP.NET is compiled on first access, and remains compiled in the cache for 20 minutes. If not accessed again, it exits the cache and has to be recompiled. Frequent requests will take away that compile time.
The second reason your site loads slow is likely that you're loading modules you don't use. Removing unused modules from the Module Definitions list (Host menu) will help.
To change the first issue, reinstall DNN in the root of your site, or change the root of your site to where DNN is intsalled. Change the portal alias to match as well.
Jeff