As mentioned in GeoNode/geonode#12862 we could pass a dedicated custom field which includes JSON metadata which could be sent along a dataset upload. This would be easier compared to XML upload as a sidecar file and also would make unnecessary additional requests to edit metadata after upload.
This issue is for the v4.4.x branch as v5 will have the importer included. PR is in progress.