Is it possible to dynamically select between two different template files for the same content type? We are rolling out changes on a content type with a new theme and field structures for existing content.
Is it possible to dynamically select one of two template files for a content type?
For example, if a field on the content type is checked then use node--product.html.twig but otherwise use node--product-old.html.twig.
Yes. You can implement hook_theme_suggestions_HOOK_alter() to set up different templates based on the field.
In your case, you want to add templates for nodes, so the theme hook is node. As such, you would implement the following:
function hook_theme_suggestions_node_alter(array &amp;$suggestions, array $variables) {
  $node = $variables['node'];
  if ($node-&gt;hasField('some_field') &amp;&amp; $node-&gt;some_field-&gt;value == 1) {
    $suggestions[] = 'node__product';
  }
}

With this code, when some_field does not exist, or does not have a value of 1, the default node.html.twig template will be used, and when some_field has a value of 1, the template node--product.html.twig will be used. Adjust accordingly.