First off, this is completely false. With symfony2 the action needs to return a Response object. This annotation isn't required and the team I work with, we rarely use this.
It's very useful for when you are just adding a page that contains no real business logic.
"Doctrine 2 does the same thing when declaring object properties based on database table columns1:"
Oh look, there's a footnote.
"Fortunately, Doctrine also allows you to declare property metadata using PHP, YAML, or XML"
What?
"Because code comments should never be necessary for a script to function properly"
So your points are that we need @Template annotation to be able to render a template, which is FALSE, and you state the same with with Doctrine2 which you point out there are other ways to do it.
All your points for "DX Regressions" are completely wrong.
Unless I am using a special plugin with my IDE it's not going to link "AcmeBlogBundle:Post" to src/Acme/BlogBundle/Entity/Post.php. Most of what you point out is complete bullshit. What do I gain to hope by using var_dump() on an annotation? I know that in a Doctrine Entity that the column type is a string.
Articles and posts like this drive me banana's with the complete lack of understanding what you're writing about.