For me personally API+front end is a much cleaner and productive paradigm than having to pass massive dictionaries from a controller to a template. This separation of concerns allows to focus on and optimize data sources/retrieval and UI/rendering independently. Really nice!
Deploying API and FE separately can also be more efficient, as these services likely require a different tech stack, a different scaling/load balancing setup, and have a different release cycle.
That's a complete opinion as well.
When was the last time you read about a UI heavy web app migrating from a JS framework to Django templates?
Don't you pass already massive JSON payloads from your API endpoints down to your client to update the views?
How's this any different than your hypothetical or even real world scenario?
> Don't you pass already massive JSON payloads from your API endpoints down to your client to update the views?
Not really. You send many parallel API requests from the client, each response is a smaller JSON. And when you navigate to the next page, most of its data is already in your state, so you have to request just the missing part (e.g. a different post). When you are constructing context for a page on the backend you have to provide all its context every time. The template doesn't make requests based on some logic.