Not sure what it’s worth but my problem was on an encrypted ext4 drive too and kind of suddenly went away again.
One thing I understand now: the “fatal” error that --check-unused throws is not even an error but a standard condition. Since a while ago, restic doesn’t remove all unused blobs anymore to save time during prune.