Claro, puedes hacerlo y, de hecho, es un flujo compatible, como mencionaste. Sin embargo, el objetivo del código es evitar que el propio cliente tenga acceso al token. Esto evita el robo o la fuga del token porque está limitado a los elementos internos de la aplicación web, en lugar de compartirlo con quien lo necesite para usar el servicio.
Recuerde que los flujos se aplican a diferentes escenarios.
Los flujos implícitos se usan cuando se necesita acceso al token, pero no confío / no puedo confiar en el cliente, como una aplicación que se ejecuta localmente en la máquina de un usuario: un usuario malintencionado podría fácilmente personificar al cliente.
Los flujos de código se utilizan cuando puede confiar y verificar el cliente porque, por ejemplo, está alojado en una máquina remota a la que no tiene acceso.