This is a useful privacy enhancement for Stellar, thank you!
While it's nice that your solution is immediately usable, it also means that exchanges etc. not deploying it will still expose their users to network analysis attacks that can de-anonymize Stellar accounts (or rather de-pseudonymize, if that's a word even).
So I think it's worth it that you talk to Stellar Development Foundation about a protocol enhancement in the Stellar Blockchain. In that case, it would make the system less complex if no additional encryption key is needed. Seems possible, as one could encrypt the text with the public key of the recipient account, and the recipient can then decrypt it with their private key. You'd have to look into the Stellar specs in more detail if that idea holds water (answering things like: "Is the public key of every Stellar ID always known publicly?"). Just for inspiration