when you sign up an account in DH, you will see free domain and free DH domain. If you sign up with a free DH domain like xxx.dreamhosters.com, you will still have the free domain name. You can check via DH panel --> Billing --> Manage Accounts
Under Domain Registered, you will see (0, 1 free). It means you have 1 free domain.
I don't think DH charges for transferring domains. However, you should check with the server provider where you register the domain.
And you do not need to transfer the domain to DH. You can host the domain in DH by setting up the DNS.
After you set up the DNS, you may need to wait for few days for the DNS change to propagate in the server. When you see the domain in DH panel --> Domains --> Manage Domains, you can start hosting the domain in DH already. You may want to refer to wiki for more information. http://wiki.dreamhost.com/index.php/KB_/_Domains_/_Transfers_/_Transfer_Hosting
Save [color=#CC0000]$97[/color] (max discount) on dreamhost plans by using promo code: [color=#CC0000]97CRAZY[/color]. Sign Up NOW