"The right time to add an abstraction to a design is at the point when you start feeling the pain of not having it."
When are the risks of a headless project clearly worth taking on?
Is the Drupal backend one of many sources of data for the front end framework?
Headless is a great way for Drupal to be a good citizen in a world of API-driven applications.
Do you already have an Angular / React / Meteor / framework-of-the-week team that has no interest in learning Drupal?
Are other applications and services going to be using the data provided by Drupal?
If you are going through the work of architecting, providing and testing API endpoints, you might as well thoroughly vet them while you are building your front end.