This is expected. The first snapshot stored corrupted blobs (regardless of how they got corrupted) together with size, timestamp and other file metadata. All subsequent snapshots reference the same corrupted blobs for as long as the file size and timestamp remain the same.
All data in the repository is immutable and covered by sha256. You can’t change existing snapshots or anything else stored in the repository. But if you
touch the corrupted files and run
restic backup, that should create new snapshot with just the touched files and hopefully correct data.