You think you are missing keys, but did you check?
Your keys should be there docker compose exec dovecot-mailcow ls -l /mail_crypt/ pls post output,… Also check your Dovecot config docker compose exec dovecot-mailcow doveconf -n -P | grep -i crypt should be pointed there
If you ensure you have both ok,.. than I would try to decrypt that file. Check this docker compose exec dovecot-mailcow /bin/bash to get into container. I would first copy that file to not mess whit original cp '/var/vmail/*****.***/user/Maildir/.Sent/cur/1673245941.M427892P470.de42dd6400e9,S=705,W=727:2,S' /tmp/ and than decryption doveadm fs get compress lz4:1:crypt:private_key_path=/mail_crypt/ecprivkey.pem:public_key_path=/mail_crypt/ecpubkey.pem:posix:prefix=/ '/tmp/1673245941.M427892P470.de42dd6400e9,S=705,W=727:2,S' | head
If this manual decryption fail (maybe try to decrypt another mail you think it’s ok in SoGo to ensure you have correct keys,..), i would think this file is corrupted, that may be in-line whit your claim of only SoGo have this problem, due too website clients are usually much more aggressive in pre-fetching data. In this case I would suggest to remove this file so mv or rm this file than re-sync that mailbox check this doveadm force-resync -u user@DOMAIN.TLD '*' and doveadm quota recalc -u user@DOMAIN.TLD