Pensando em repositórios que separariam backend e frontend:
Eu penso que é interessante manter junto quando são na mesma linguagem Typescript e eles dividem uma camada de modelo, utilitários e bibliotecas.
Se são backend e frontend em linguagens diferentes, eu penso que devem ser repositórios separados.
Pensando em repositórios que separam módulos da aplicação:
Quando cada módulo tem seu time especializado, eu penso que vale a pena separar em repositórios para cada módulo, mesmo que haja depois um repositório multi módulo abraçando todos eles em uma aplicação única. Neste caso, penso que seria interessante pensar em separar em vários serviços.
Mas se é um time só que trabalha em vários módulos, eu penso em separar por módulos internamente dentro da mesma aplicação, mantendo um repositório único.
Eu trabalho com "monolitozão" com vários módulos onde todo mundo mexe no mesmo repositório. E também trabalho com aplicações onde o frontend e backend são separados cada um com seu repositório.
Depois de sofrer com um "monorepozão", o pessoal criou as outras aplicações já separado.