Yes, I did manage to get it working, although I think an easier way was intended.
First things first, add a page to your subsite. Then try and access it from your primary domain, by entering the page name and appending the subsite ID. If your primary domain is primary.com and your page should be subsite.com/my-subsite-page, then try accessing primary.com/my-subsite-page?SubsiteID=2. Make sure you enter the actual ID of the subsite, of course, 2 or otherwise. If that works then you can move one.
The first step in the access process is to direct your subsite domain to your SilverStripe instance. Willr's example for this was good, but apparently insufficient. The problem I ran into to was figuring out how SilverStripe dynamically gets the subsite ID from the URL. It should be simple enough, but I couldn't find anything resembling this kind of query in the Subsite module code.
At any rate, since I knew I could access the subsite pages, it was simple enough to force this to happen with a little mod_rewrite action in the .htaccess file. So the second step is to update your .htaccess file to check for the incoming host name and tell SilverStripe what site to request.
In the snippets below I use primary.com and secondary.com as the domain names for the main site and the subsite domain, respectively. Here's what my vhost.conf file looks like (I'm on a Media Temple DV server running Plesk).
DocumentRoot /var/www/vhosts/primary.com/httpdocs
ServerName secondary.com
<Directory /var/www/vhosts/primary.com/httpdocs>
AllowOverride All
<IfModule sapi_apache2.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir "/var/www/vhosts/primary.com/httpdocs:/tmp"
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir "/var/www/vhosts/primary.com/httpdocs:/tmp"
</IfModule>
</Directory>
Then I added this to my .htaccess file:
# Subsite rewrite
RewriteCond %{REQUEST_URI} !(\.gif)|(\.jpg)|(\.png)|(\.css)|(\.js)|(\.php)$
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^secondary.com$
RewriteRule .* sapphire/main.php?url=%{REQUEST_URI}&SubsiteID=2&%{QUERY_STRING} [L]
# Normal SilverStripe page
RewriteCond %{REQUEST_URI} !(\.gif)|(\.jpg)|(\.png)|(\.css)|(\.js)|(\.php)$
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L]
It's almost the same rewrite as SilverStripe's primary rewrite, but it adds an additional condition for host name, and then appends a hard coded subsite ID. This of course may differ if you're adding a different Subsite. Note that in this method you must add those lines to the .htaccess file for each additional subsite.
I would LOVE to hear from one of the developers or community members that this is the wrong way of doing this and then get the full explanation of how to get this working properly, but in the meantime this works.