WordPress.com's Business plan allows users to upload custom WordPress themes and plugins and offers de facto unlimited disk space and traffic. But WordPress.com has some restrictions: they do not offer FTP or cPanel access. You need to contact Support if you encounter a problem which requires ftp/sftp access.
You can use the Export/Import features of WordPress to migrate a self-hosted WordPress site to WordPress.com. However, in this case, you need to re-configure the theme options and plugins.
You can use All-in-One WP Migration to migrate a self-hosted WordPress site to a WordPress.com site using a Business plan.

If you try to install a premium WordPress theme on WordPress.com, you sometimes might encounter an error. For example, one of my clients tried to install Cuisine, a restaurant WP theme, on WordPress.com (with Business plan), but demo content could not be imported properly. Moreover, Visual Composer (WPBakery Page Builder for WordPress) also could not be loaded.
I setup a test WordPress site on SiteGround. I installed the theme on the test site and imported the demo content. And then I tried to migrate it to WordPress.com using All-in-One WP Migration, which was successful.
You can use the All-in-One WP Migration plugin to move a self-hosted WordPress site to WordPress.com's Business plan without a hassle.
※ Many premium themes include Visual Composer as a bundle but VC could slow down a WordPress site if it's not optimized properly. Recently, Jupiter, one of popular WordPress themes, changed their page builder from Visual Composer to Elementor in their new version or Jupiter X.