How do I center a UIImageView vertically in a UICollectionViewListCell as a custom accessory?

Please run the following UIKit app.

It uses a collection view with compositional layout (list layout) and a diffable data source.

It has one section with one row.

The cell has an image view as a leading accessory.

Unfortunately, as soon as I set an image for the image view, the accessory is no longer centered:

import UIKit

class ViewController: UIViewController {
    var collectionView: UICollectionView!
    
    var dataSource: UICollectionViewDiffableDataSource<String, String>!

    override func viewDidLoad() {
        super.viewDidLoad()

        configureHierarchy()
        configureDataSource()
    }

    func configureHierarchy() {
        collectionView = .init(frame: .zero, collectionViewLayout: createLayout())
        view.addSubview(collectionView)
        collectionView.frame = view.bounds
    }
    
    func createLayout() -> UICollectionViewLayout {
        UICollectionViewCompositionalLayout { section, layoutEnvironment in
            let config = UICollectionLayoutListConfiguration(appearance: .insetGrouped)
            return NSCollectionLayoutSection.list(using: config, layoutEnvironment: layoutEnvironment)
        }
    }
    
    func configureDataSource() {
        let cellRegistration = UICollectionView.CellRegistration<UICollectionViewListCell, String> { cell, indexPath, itemIdentifier in
            let iv = UIImageView()
            iv.backgroundColor = .systemRed
//            iv.image = .init(systemName: "camera")
            iv.contentMode = .scaleAspectFit
            iv.frame.size = .init(
                width: 40,
                height: 40
            )
            
            cell.accessories = [.customView(configuration: .init(
                customView: iv,
                placement: .leading(),
                reservedLayoutWidth: .actual,
                maintainsFixedSize: true
            ))]
        }
        
        dataSource = .init(collectionView: collectionView) { collectionView, indexPath, itemIdentifier in
            collectionView.dequeueConfiguredReusableCell(using: cellRegistration, for: indexPath, item: itemIdentifier)
        }
        
        var snapshot = NSDiffableDataSourceSnapshot<String, String>()
        snapshot.appendSections(["main"])
        snapshot.appendItems(["demo"])
        dataSource.apply(snapshot, animatingDifferences: false)
    }
}

This seems like a bug but then if I set the image view's size to 100x100, even without giving it an image, the cell doesn't resize, which makes me think I'm making a mistake.