Vamos por partes...

Parte 1: Se a origem dos dados vem dos engenheiros que programam em Python com Pandas e cálculos em C++, está claro que vai ter que ter Python e C++. Esssa parte é bem tranquila, pois é bem fácil o Python usar bibliotecas compiladas em C++. Então dá para pegar o resultados dos cálculos e trazer para o Python.

Parte 2: Tendo as funções que retornam os resultados dos cálculos em Python, é preciso exportar de alguma forma essa informação, então algum dev vai ter que fazer um app em Python expondo os resultados. Se for via API, pode ser com FastAPI, por exemplo. É bem fácil também.

Aqui uma dica: Como você mesmo falou, o Python tem bastante bibliotecas para manipulação de dados e geração de gráficos, portando essa API já pode retornar o HTML pronto do gráfico.

Parte 3: Aqui é uma decisão estratégica da empresa. A empresa tem que decidir se quer: 1 - Desenvolver um backend em Javascript/Typescript, já que é o que os devs sabem mais, e consumir os dados da API Python, acessar banco de dados e todo o resto. Essa opção eliminaria a necessidade de treinar todos os devs em Python. Um só já daria conta de fazer a API Python. ou 2 - Treinar seus devs e desenvolver todo backend em Python, já que uma parte precisa ser em Python. Essa opção eliminaria a necessidade de manter 2 aplicações separadas.

Pra gente, o ideal seria utilizar o próprio Next.js pra criar as API's. Colocar um serviço extra pra criar uma API pra entregar os resultados dos cálculos pro backend seria uma arquitetura ruim?

Pelo menos uma API em Python é necessária para expor os resultados, pois alguém vai ter pegar da programação dos engenheiros em Python (Parte 1). Na Parte 3 fica a escolha da empresa, tanto backend como frontend (Parte 3). Pode usar o Next.js para acessar diretamente os dados da API Python, por exemplo.