Custom pseudo field not rendered when no other field has content
So I found my fault - when you describe a field the render array needs to have an array of field items. So the $build-array needs to look like this:

$build['igb_title'][] = array(
      '#type' =&gt; 'html_tag',
      '#tag' =&gt; 'h2,
      '#value' =&gt; $entity-&gt;label()
    );


In field_group_remove_empty_display_groups it is checked if a field as at least one item:

$has_items = isset($element[$name][0]);


If $has_items is false the field group is emptied if there is no other field with a value. I think I might need to go deeper into this render array thing...

Best,
Tobias