I documented this here:
But in short, the WordPress codebase is inconsistent about how it internally constructs URLs with respect to subdomains. Some parts of the codebase will use the raw "www.domain.com/subdomain/foo" format for its generated links (example: the new version of edit.php). Other parts of the codebase instead use the interpreted format of "subdomain.domain.com/foo" for generating links (example: the previous version of edit.php for pages other than the first, and the current way how preview links are handled).
I'm hoping I can hack around this with .htaccess rules with some help. But there really is no reason for this inconsistent handling of URLs. It's sloppy and error-prone, and unnecessarily causes users on subdomains headaches.