Based on the updates to your question I'm guessing you want your label to show a single label with concatenated attributes for any number of features that have identical geometry.
Your approach was grouping the schadennr values by another attribute ursache_detail which helps to narrow it down, but I'm guessing for your dataset that encompasses a group that is much larger than an incident at the same location. So, by this logic you need to group your schadennr values by the actual geometry of the feature.
Step 1: make sure you only show one label per geometry (so you don't end up with two labels for identical geometry, regardless of label overlap settings).
Refer to the method in this answer, but use the following expression instead for the data defined override under 'Show Label':
$id = array_first(array_agg($id,geom_to_wkt($geometry)))
Step 2: for the label itself, use the following expression:
'Schäden: '||array_to_string(array_agg("schadennr",geom_to_wkt($geometry)),', ')
Original:

Step 1 - show only one label per feature with identical geometry regardless of label overlap settings:

Step 2 - set label to show concatenated attributes with identical geometry:

Note, if you want to change the order in which your attributes appear in the concatenated label, you can use the order_by parameter for array_agg() to specify the order. E.g.
'Schäden: '||array_to_string(array_agg("schadennr",geom_to_wkt($geometry),order_by:="ORDER_FIELD"),', ')`
I also don't know why these aggregate expressions only work with geom_to_wkt() and not $geometry
The result should look like this: Damage: Example 1 , Example 2
– Alex Dec 21 '22 at 11:29Schaden: 03/03469, 12/06967, don't you? – Kadir Şahbaz Dec 21 '22 at 11:38