The thing that get's me about template engines is that in order to be as expressive as the language they are written in, they can become quite complex and add another learning curve for the designers.
The developers have to learn the template syntax as well and know how to debug that template engine. This is another layer of complexity on their existing stack.
The former could then be almost independent of the backend language.
Most projects don't need to give the UI the ability to switch backeneds - though it does happen. Also a template is coupling your view to the syntax of the templating engine just the same as it would to PHP.
For example, if you're doing a foreach() loop in the template, you are going to use the templates foreach() like syntax. There is also property resolution ie. -> and [] in PHP objects and arrays, \ for namespaces. Conditional statements, type comparisons etc. that have to part of an expressive templating engine.
If you switch backends the backend has to support that particular template syntax.
It's impossible to totally decouple the view from the backend. To do that you have to move your templating to purely client side. So the decision lies in the needs of the project. I think there is nothing wrong with going pure PHP in the template. This is what PHP was written for in the beginning.
If the project has dedicated designers that don't want to learn PHP …