DataStack::add(): Argument #1 ($key) must be of type string, int given, called in

Hallo, ich kriege es hier nach langem Versuchen irgendwie nicht hin, eine Custom Entity im Adminbereich per Javascript zu speichern.
Ich mache es so wie in der offiziellen Dokumentation angegeben:

   var entity = this.customizableSurfaceRepository.create(Shopware.Context.api);
                entity.name = 'test';
                entity.productCustomizationSpecId= this.productCustomizationSpec.id;
                this.customizableSurfaceRepository.save(entity, Shopware.Context.api);

Aber erhalte immer den Fehler

„Shopware\Core\Framework\DataAbstractionLayer\Write\DataStack\DataStack::add(): Argument #1 ($key) must be of type string, int given, called in /var/www/html/vendor/shopware/core/Framework/DataAbstractionLayer/Write/WriteCommandExtractor.php on line 398“

Ich konnte aus der Fehlermeldung nicht rauslesen wo das Problem ist. Das einzige Feld was in der Entity gesetzt sein muss ist der ID-Verweis und der ist vorhanden.
Woran kann das liegen?

Was wird denn als ID übergeben? Fehlermeldung besagt, das der Wert ein String sein muss, aber eine Ganzzahl (int) übergeben wird.

Da wird ganz normal die ID als String übergeben. Habe auch testweise noch eine Entity erstellt, welche nur einen Verweis auf die Parent-Entity hat. Da kommt der gleiche Fehler. Der Request sieht so aus:

{
    "id": "0192f40322ad72ba9c2d7930abde7eb7",
    "maxims": [
        {
            "id": "0192f40322ae7b888d013f7dcd0d868a"
        }
    ],
    "productId": "3ac014f329884b57a2cce5a29f34779c"
}

Andere Pflichtfelder hat die Entity gar nicht.

Jetzt schlägt auch das Speichern der Hauptentität mit dem gleichen Fehler fehl, obwohl nur zwei IDs beim Request übergeben werden.

{id: "0192f41346d37b19ba05818ee36a2e96", 
productId: "3ac014f329884b57a2cce5a29f34779c"}

Hier ist noch die EntityDefinition wo das jetzt auch Fehlschlägt.

   protected function defineFields(): FieldCollection
    {
        return new FieldCollection([
            (new IdField('id', 'id'))->addFlags(new PrimaryKey(), new Required()),
            new OneToManyAssociationField(
                'maxims',
                MaximDefinition::class,
                'product_customization_spec_id',
                'id'
            ),
            new StringField('name', 'name'),
            new StringField('description', 'description'),
            new FkField('product_id', 'productId', ProductDefinition::class),
            new ManyToOneAssociationField('product', 'product_id', ProductDefinition::class, 'id', true),
            new OneToManyAssociationField(
                'customizableSurfaces',           
                CustomizableSurfaceDefinition::class,  
`CustomizableSurface`
                'product_customization_spec_id',   
                'id'
            ),
            new CreatedAtField(),
            new UpdatedAtField()
        ]);
    }

Sehr kurios. Hab mal die DataStack->add angeschaut und da ist der erste Parameter $key ein String, der zweite $value darf mixed sein, es stört in also wohl eher der $key. Ich würde ja jetzt einfach in die Funktion stumpf ein error_log mit den Werten reinpacken, eh man sich hier einen Wolf sucht…