What is the correct way to create a new ImageItem and attach it to a FileFieldItemList?
You don't need any of that. You just set the values, everything else will be taken care of for you.

$node-&gt;set('field_gallery', [
  'target_id' =&gt; 123,
  'alt' =&gt; 'Alt text'
  'title' =&gt; 'Title text' 
]);


If you want to have multiple items, use `$node->field_gallery->appendItem($values);