That "might" work, but really it's overkill.
If you simply have another virtual host on the existing setup (blogs.domain.tld) which comes before the original domain (domain.tld) in the conf file, then install it into blogs.domain.tld, and add the wildcard alias in this virtual host (so that *.domain.tld is rendered before the actual virtual host for domain.tld).
Then simply add domain.tld as site_id #2 in the wp_site table, use the new sunrise php file that will set certain global variable values (like $current_site->domain) to a certain specified value, then it can be accomplished much easier.
AFAIK, wp-settings.php will need to have a small edit still for setting cookies on .domain.tld instead of .blogs.domain.tld, but that's still minor compared to what would have needed to be edited originally before the new file functionality.
I actually have a site that is set up on blogs.domain.tld, with users on user.domain.tld. Granted it was a small set-up to begin with, isn't used much as the "novelty" wore off, and I primarily use it for testing purposes now, but it's still setup the same way.
Although the main site (domain.tld) is on a separate box, it really doesn't matter. As long as the vhost for blogs.domain.tld comes before the vhost for domain.tld in the conf file for apache, and the vhost for blogs.domain.tld has the wildcard edit, it still comes out OK because apache is going to render the first match as it scans through the vhosts.
If you need to add something like forums.domain.tld, simply put that above the vhost for blogs.domain.tld, and then block users from registering with the name "forums" (or whatever, like wiki, support, etc).