Since then, I’ve studied and “grinded” LeetCode obsessively and feel confident that I would pass most technical interviews.
Can I email the recruiters from those failed interviews, asking to be reinterviewed for similar positions now that I’m more prepared?
However, if there is a specific engineering manager at the company who has open headcount and is excited about hiring you, then they might be able to convince the company to waive the waiting period and treat your previous failed interview like it did not happen. I've seen this happen at a few companies, but not specifically Microsoft or Apple.
If they haven't specified when you can try again already, you could ping the recruiter and ask. I'm guessing it wouldn't be anything less than 6 months, though, judging by what I've seen by my own failed attempts :).