Yes, Bluehost would let you have your domains and subdomains. Migrating isn’t all too difficult. The most important part is getting your database backed up. Your database is what contains all of your content. If you lose your themes or plugins you can always go get them again, but if your database is lost… its gone.
You would start off by signing up with Bluehost with any one of your domains. Once you have the account you can add the other domains to the account as well. You do not actually want to switch your hosting to them just yet, though. First you want to install WordPress for each of your domains, or, to test things out, you can do everything with just one domain first and then go from there.
You can use this to show you how to install with Bluehost: https://tutorials.bluehost.com/wordpress/
Then you can use this to know how to backup and import your database into the new installation: https://tutorials.bluehost.com/movewordpress/ (Note the WordPress version is a little out of date in the tutorial, but the steps are still the same)
After you have imported your database, if you have custom themes or plugins you want moved over from your previous account, backup your previous wp-content directory, then upload this over the top of the wp-content directory which was created for you in your WordPress install at Bluehost.