Se for para estudo, acho que está ok criar uma arquitetura de microservices, mas caso esteja pensando em um produto real, eu não faria dessa forma no dia 0.

Pensando em desempenho e custo, eu escolheria Go para o backend, porque é compilado para um binário nativo e muito performatico, o que fará uma grande diferença no uso de CPU e memória nos seus servidores (o que vai reduzir seus custos para manter a solução no ar). Também, pensando em custo, não começaria o projeto no dia 0 com uma arquitetura de microservices. Um monólito bem escrito e modular trará muito menos dores de cabeça, especialmente quando você for usar ferramentas de monitoramento (Grafana, Prometheus ...).

E depois de um tempo, com o projeto já em produção, caso faça sentido, você pode separar alguma funcionalidade do projeto em um microserviço, o que normalmente ocorrerá quando você perceber a necessidade de escalar horizontalmente uma funcionalidade específica.