Two thoughts come to mind about this setup that you might want to consider:
1) Having identical content on two sites in the eyes of Goggle is considered by many to be less than optimal - Google will pick up on this and it is likely neither site will do as well page rank wise in Goggle as either would have done on it's own (without Google seeing the duplicate content).
Just one more example of how the SEOtards have screwed things up for the rest of us - your "legitimate" attempt to "catch" users who mistype the .tld part of the url are not recognized as being "different" than the SEOtards' thousands of duplicate domains whose only purpose is to "game" the search engines in hope of luring traffic.
2) The ingle codebase of Joomla reached from either urls can complicate matters with Joomla!'s re-write rules, but if it is working for you than that is likely not an issue.
This can be a good strategy, and is similar to one I use on a daily basis *just make sure and keep your dev/live MySQL databases separate, or in sync!)
I don't see any problem with doing it that way, though I probably would only use one site/subdomain for development purposes, and then just copy it to a live subdomain when ready to launch - either way should work though, and you have plenty of space on DreamHost so it's not that important to be uber efficient.
Well, it's "prettymuch" that easy but you may have to do some minor tweaking with configuration to account for the new domain name (depending upon your rewrite rules usage, seo setting, re-write rules, etc.).
There is more that one way to do that, depending upon how you want the site to be accessible during testing. You can, for instance, simply password protect the entire development subdomain using apache authentication and .htaccess, which would keep everyone without credentials out of the site altogether. You could also employ robots.txt to instruct "well-behaved" robots not to crawl the site.
To my thinking, the main issue with this is the management of your database or databases. If you use the same database and table prefix for both the sites/subdomains, any change made using either site's codebase will be reflected in both site's database information. I'm not saying this is necessarily bad, but it can present organizational and revision management challenges.
Alternately, each site/Joomla! instance can have it's own database, which would require that manually keep the db's in sync with other tools (phpMyAdmin, the shell command line, etc.), but allows you to experiment with the dev site without writing to the live site's database at all.
A hybrid method of dealing with this is to keep both sites in the same database, but use different table prefixes for the different Joomla installations. This allows you to keep all the data together for ease of backup and uniformity of MySQL connect information while effectively keeping each site's data separate. You can still manipulate the data for either site with external tools; yo will just be working with a subset of the database tables at a time for each site (using only the tables with the appropriate prefix).