I checked in the debugger and the images have different hashes. Therefore they must have at least one tiny difference anywhere in the image. Image deduplication does work between different sprite objects, and I verified this works by replacing the first two images with an all-blue and all-red opaque rectangle, and it correctly deduplicates on export. So it is working. The question is how the images end up different.
I would guess that happens due to alpha premultiplication somehow. Premultiplying then unpremultiplying is a lossy operation, but I don't know how that could happen. I checked and if you use "Import frames - from files" and choose a .png file, it simply copies the file to the project without touching it, so it should remain identical. Hmm...