This only works for small projects.
Data-heavy frontend usually sends multiple requests to allow async rendering of different parts of a page with different loading times.
This also doesn't work if your design changes a lot. AKA a design change will now mean a backend re-design too.
Your first point is addressed in the article. For the second point, my experience is that the backend probably needs some work in that case anyway. If the backend is well designed, then only the presentation API endpoint needs to change. So a BE engineer is doing the tweaking instead of a FE engineer; not a big deal. Less of a big deal if there's no line drawn between FE and BE engineers.
This also doesn't work if your design changes a lot. AKA a design change will now mean a backend re-design too.