Opa Renato, como eu disse antes, varia muito. Mas ter uma equipe que não saiba nada de Java pode acontecer, assim como pode acontecer que a equipe de front saiba o básico de java.
Em alguns casos, a equipe pode não saber exatamente nada sobre o back. Em casos de aplicações construídas com React ou Angular por exemplo, podem consumir aplicações Java sem a mínima ideia do que acontece por trás, tudo que o front precisa em alguns casos é a API e o fluxo, de onde vem e para onde vão os dados.
Eu não sou um Javeiro, mas pode sim ser usado o tal do primefaces. Depende da equipe, projeto e empresa.
Acredito que o mais comum seja isso mesmo, o front faz o front e o back faz o back, porém, lado a lado para um talvez auxiliar o outro em alguma coisa. Por último, não existe uma melhor forma que abrange todos os casos. Existe uma melhor forma para o projeto daquela tecnologia naquela empresa com aquela equipe, entende?
O front por não usar uma IDE não quer dizer que seja tudo na mão ou não tenha auxilio de ferramentas para produtividade. Existem várias ferramentas para ajudar na produtividade do front também.