You have a good feature recommendation, however, I am not so sure that it would work efficiently. The way this would probably work is that the iMessage would be held until 2 minutes have elapsed and then sent to the recipient. Those 2 minutes would give the sender an opportunity to edit/correct errors etc. It would make the entire process very slow.
At present, the iMessage is sent immediately. This is the reason the recipient sees the edits since those edits are made after the message is sent. I prefer this option rather than delay the entire messaging process.
Feel free to provide product feedback to Apple here 👉 Product Feedback - Apple
Axel F.