Use docker buildx imagetools create to create a manifest that points to an existing multiarch image and push it to another registry (no rebuild, no re-pull of layers).
docker buildx imagetools create \
-t <target-registry>/<image>:<tag> \
<source-registry>/<image>:<tag>
Example: copy a multiarch image from a private registry to Docker Hub:
docker buildx imagetools create \
-t docker.io/org/my-app:1.0.0-abc123 \
myregistry.azurecr.io/my-app:1.0.0-abc123
Requires docker buildx and login to both source and target registries.