Currently the content type for docker manifests is hard coded to the docker specific content type. If a manifest is pushed with an OCI content type we should store it with the OCI content type.
Additionally, we should use the accept headers to do a best match for pulling the manifest. If a client pulls and only accepts OCI formats we should attempt to return OCI content type if applicable. This may require converting the content type header if the image was pushed with docker. The goal is to make the header negotiation frictionless with clients such as buildah, helm and docker.