Short answer
HubSpot's KB: if you're only changing the top-level domain (for example .com to .io), you don't need to replace your brand domain; connect a domain with the new TLD. Replacing a brand domain needs the Domain settings permission, and afterwards you update things like the blog root URL. Additional brand domains need Enterprise with the domain limits increase or the Brands add-on.
1. Domains settings
My demo portal has only the system domain connected.

2. Subdomain vs subfolder
HubSpot hosts content on domains you connect, such as blog.example.com. A subfolder on another platform's domain needs a reverse proxy, which is a developer setup.