The two PHP templates that survived, and the rule

Two templates that cannot become block templates, and the rule that identifies them.

the rule: if the template contains a conditional that
changes WHAT IS QUERIED, it stays PHP.

  page-pricing.php     renders a table from a
                       third-party API, with a cache
                       and a fallback. the query block
                       cannot express "call this
                       service".

  archive-event.php    orders by a meta value, with a
                       different ordering for past
                       events. a pre_get_posts filter
                       plus a block template was tried
                       and the conditional ordering
                       did not survive.

conditionals affecting presentation are fine. this
rule is about the query.

Three years and the rule has held for every template that came up, which is the strongest evidence available for a heuristic. The pricing page could become a dynamic block and was costed at three days against a template nobody edits, which is a deferral rather than a limitation.