I recently moved my blog from WP.com to my own host and it was pretty straight forward. Once you have your site up and running on your new WordPress.org host, come back to WP.com and change the nameservers to point to your new host. On your new host, initiate the domain transfer. (You will need to possibly unlock it on WP.com and obtain the authorization code, which gets emailed to you instantly.)
I also had domain privacy, so I needed to take that off first.
Your website will start to point to your new server once all of the settings are confirmed by the new host. However, keep in mind that for up to a couple of days, you may get traffic bouncing back and forth between both WP.com and your host due to how different service providers cache the DNS records. It took me about 2 whole days before ALL traffic was routed to my new host.