It’s pretty quick and easy, and easier if you already had the same user. Basically,
1 - set the sub-domain to the same user as the main domain. The panel will offer to Move the files between users, which actually is a COPY. (also the way dreamhost assigns Apache instances this MIGHT invisibly create a DNS change, which will take about 4 hours to be seen worldwide).
2 - make sure all kinks are eliminated are after step 1.
3 - Change the domain name in the wordpress dashboard, the Save will break your site.
4 - Use SFTP to rename directories for the domains: Example.com to TEMP, beta.example.com to example.com, TEMP to beta.example.com (we are swapping the content between beta and main). (the breakage gets fixed, site works again.)
5 - use a WP plugin or phpMyAdmin to locate and replace instances of beta.example.com with example.com in the WP database. (wordpress stores ALL links as hardlink, including links back to its own content.)
Get rid of the extra user, those files and directory structure will confuse you someday if you don’t. Likewise don’t use the method where you change the directory the webserver points via the dreamhost panel, that method will also confuse you someday after the fact (think a couple years in the future).