Can Drupal 8 Form #states API be used to expand/collapse
Unfortunately, I'm going to answer my own question:  expanded and collapsed states do work for the &lt;details&gt; type.  

My problem was operator error.  I was adding the #states array at the level of the '#type' =&gt; 'container' but the container has a widget inside of it that holds the '#type' =&gt; 'details'.   Fun times with Form API!

The working code is this:

&lt;?php
// In mymodule.module
use \Drupal\Core\Form\FormStateInterface;

function mymodule_form_node_&lt;type&gt;_form_alter(&amp;$form, FormStateInterface $form_state) {
  $form['field_address']['widget'][0]['#states'] = [
    // Expand location field when the Type is 'On-site'.
    'expanded' =&gt; [
      ':input[name="field_trigger"]' =&gt; [
        'value' =&gt; 'open'
      ],
    ],
    // Collapse location field when the Type is 'Online'.
    'collapsed' =&gt; [
      ':input[name="field_trigger"]' =&gt; [
        'value' =&gt; 'closed'
      ],
    ],
  ];

  // Load edit form with Location field either open or closed, based
  // on the value of the Trigger field.
  $form['field_address']['widget'][0]['#open'] = ($form['field_trigger']['widget']['#default_value'] == 'open') ? 1 : 0;
}