Non-native English speakers usually don't make such mistakes. Natives write "by ear" (which is how you initially learn your first language), so they can mix up homophonic words, whereas non-natives usually learned to write at the same time as they learned to speak the language, and they also had the rules and words explained 100% explicitly from the start.
Native speaker here, never had any issues with this or any other common homophone in English. I mean, yes, spelling mistakes did occur, and we now have autocorrect to further screw things up. But I never “learned the rules” and still got everything consistently correct from a rather early age.
“Learning by ear” is just another excuse for laziness and/or ignorance. Pick up books, read extensively, and like anyone else not marinating in cultivated ignorance, you too can utilize the language effectively and correctly.
I once had a teacher who was very meticulous about conditional sentences. She would get upset (not actually but this kind of fake upset) when you said "If I would've ... then it would've ...", and that's why conditional sentences are the only rule I know by heart and I improvise everything else :3
I've understood the difference since I was 6 years old, I have vivid lucid memories of learning about this stuff in the first grade, but my "smart" phone's voice-to-text still can't figure it out.