Na empresa onde trabalho temos algo similar. Não hospedamos landing pages, hospedamos dashboards. No caso, meudominio.com é o nosso domínio base.
A gente possui um domínio e todos os clientes ficam no subdominio: cliente.meudominio.com
E a gente hospeda no Amplify (AWS). O framework que usamos é Next.js. Quando o usuário loga, a gente puxa do DynamoDB as configurações da dashboard dele. Cada cliente tem um app do amplify.
Todos os componentes são em comum. A gente também possui uma forma do cliente criar e organização painel de exibição, setar permissões e etc... Mas toda esse dado de estrutura fica no DynamoDB, que basicamente armazena um JSON.
Não sei se te ajuda, mas fazemos dessa forma.
@Edit
Usamos TailWind, e basicamente o build ocorre durante a etapa de deploy do Amplify. Quando você dá commit na branch de deploy, que você configura qual é, o Amplify vai ser acionado, vai buildar sua aplicação, se não tiver problema, ela já fica disponível.