Ok, I've found the problem: Docker image manifests have a really complicated way to compute their digest:
Parse the manifest as JSON, keeping key order.
Remove the "signatures" key of the root object.
Re-encode the new root object as JSON, with 3(!) space indents, LF newlines, and no newline at the end.
Compute a SHA256 hashsum.
The problem was that on Windows, ProGet re-encoded the new root object with CRLF newlines.
This is fixed for the next version. (4.7.7)