Pretty interesting, and agree when working on long life feature branches.
Although I think, when working in a CI/CD environment, we can think twice and consider a different workflow.
In a CI/CD environment, I personally consider that I am working on the current state of the production and thus the implementation of a small piece of a feature may differ depending on the production implementation.
In such a case, I mostly have small PRs that I constantly rebase on top of the production version, running CI tests at each step, and squash merges it.
Such a workflow does not suffer the problem well explained in the article, while reducing the risk of inter-features dependencies, making each and every change quickly available for every developer on the project.
Of course, while it works pretty well for web-based applications, it may become harder to apply it to released products, depending on your organisation.