Olá, Eric! Tudo bem?
Excelente pergunta!
Na verdade, o front-end não sabe como o back-end é implementado (se é JS, C#, Java, etc...). É como uma tomada, temos as entradas do back-end (que são as rotas), e as chamadas http são os conectores que entram nessa tomada. Pouco importa o funcionamento de outras partes, tanto as que produzem a energia elétrica quanto o dispositivo que consome, contanto que um entenda o outro.
Nesse caso, ao invés das linguagens definirem a comunicação, nós temos convenções e padrões que definem como essa comunicação deve ser feita, e as linguagens apenas atendem a essas especificações.
Quando transferimos dados entre Angular e Node, o Node não sabe que o front-end é em Angular, e o front-end não sabe que o back-end é em Node, porque eles apenas transferem dados um pro outro.
Utilizariamos normalmente os métodos HTTP para um back-end feito em outra linguagem, pois o HTTP é agnóstico. Recomendo este curso para você entender como o HTTP funciona melhor, é um tópico muito interessante que irá te dar clareza.
Mas resumindo, é isso, independentemente da linguagem do front-end e do back-end o tráfego é feito HTTP, e quando esses dados chegam ao back-end, ele interpreta e modela com base na sua necessidade.
Inclusive, essa falta de conhecimento que o front-end tem do back-end e vice-versa é muito importante, pois nos permite criar aplicações mais universais, que não dependem de uma estrutura específica, contanto que o padrão da comunicação continue o mesmo.
Você pode ler um artigo mais afundo aqui.
Quanto a vídeos, sugiro:
Espero ter ajudado!