Ok I set up reuse identifiers and tried a placeholder:
id<UICollectionViewDropPlaceholderContext> context = [coordinator dropItem:coordinator.items.firstObject.dragItem toPlaceholder:placeholder];
And I get an exception when calling dropItem:toPlaceholder::
'NSInternalInconsistencyException', reason: 'UICollectionView must be updated via the UICollectionViewDiffableDataSource APIs when acting as the UICollectionView's dataSource: please do not call mutation APIs directly on UICollectionView. <UICollectionView: 0x108972000; frame = (0 152.5; 375 514.5); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x281c55830>; layer = <CALayer: 0x28125c760>; contentOffset: {0, 0}; contentSize: {375, 12814}; adjustedContentInset: {0, 0, 0, 0}; layout: <UICollectionViewCompositionalLayout: 0x107d727b0>; dataSource: <__UIDiffableDataSource 0x282dea850: sectionCounts=[_UIDataSourceSnapshotter - 0x2813e2fa0:(0:215)]; sections=[0x28129d7c0]; identifiers=[0x28129d3a0]>>'
So UICollectionViewPlaceholder can't be used with diffable data sources?