What’s happening is that when you drag a cell, you set up an oval-shaped preview by implementing:
func collectionView(_ collectionView: UICollectionView, dragPreviewParametersForItemAt indexPath: IndexPath) -> UIDragPreviewParameters?
But once you let go and the drop animation kicks in, UIKit goes back to a plain rectangular preview (with the default shadow and background) unless you also tell it otherwise. To keep that oval look during the drop animation, you also need to add:
func collectionView(_ collectionView: UICollectionView, dropPreviewParametersForItemAt indexPath: IndexPath) -> UIDragPreviewParameters?
and return the same oval-shaped parameters. If you don’t, UIKit just uses the rectangular snapshot, and you’ll see the unwanted shadow and background after dropping.
Result