RPM and SRPM uploaded units have client specified checksum and checksumtype field in unit_metadata when docs specify it should be unit_key
The platform docs specify that when uploading you can specify unit_key and unit_metadata. These section correspond with importers across the docs including the importer that handles ingestion of RPM and SRPM content. Both the RPM and SRPM docs identify these fields as part of the unit_key which means when uploading they are expected to be in the unit_key field of the upload call.
Currently the platform code will not work if you put checksum and checksumtype in unit_key, and will only work if you put them in unit_metadata. Given what the docs say, the current behavior is wrong. This is a bug for the API, the related bug is to update pulp-admin to have pulp-admin send the data correctly.