Is the fix a client thing or is there an interaction with the server as well? I had really bad issues with message decryption on Element for Android last year (July 2023 based on the date I installed a different matrix client).
I'm self-hosting synapse on Debian Bullseye (from bullseye-backports).
Afaik it was the client implementation, the encryption logic is the same just redone in a different language.
The issue i had was that when using unstable network connections(mostly mobile) it would miss one message or something like that and all following messages wouldnt be decryptable.