containerd/containerd#2706 reported for containerd likely does not affect the ECR resolver as it's typical to create a separate ECR resolver for each push or pull operation. However, the fix in containerd/containerd#5379 shows a situation with an index containing duplicate manifest entries that may affect the ECR resolver the same way the Docker resolver is affected.
Consider implementing content.Ingester and updating the pusher to use the new StatusTrackLocker implementation.