Na verdade isso que você está fazendo é criar uma aplicação frontend que consome uma api, ao meu ver não constitui um mvc, pois seu front está desacoplado do restante, mas essa é a minha opinião e não uma verdade absoluta.
Acredito que você esteja fazendo assim para ter reatividade e não ter refresh na página, mas quando você for estudar Laravel e seu ecossistema, você vai descobrir que existe uma ferramenta maravilhosa chamada Livewire que vai fazer tudo isso sem que você tenha que relar em uma linha de js sequer.
O que vejo como 'mais correto' é fazer como os grandes fazem, já padronizaram, tem um controller que comunica diretamente com a view e com o model, sem intermediários. Outra forma de se fazer isso é com o Laravel Inertia, por exemplo, que permite que exista essa funcionalidade entre o controller e um front em react ou vue.
Boa sorte nos estudos.