One key difference between Apple and Meta is that each individual (on the ground) team at Apple is responsible for its own hiring. Whereas at Meta, they have a general company-wide engineering pool that is mainly driven by recruiters to fill.
A manager at Apple will get a batch of resumes and start hiring with a recruiter and the team members will then interview each candidate and decide to move forward or not with a candidate.
A manager at Meta, on the other hand, is constantly trying to sell their team to potential engineers looking to either switch from another team internally, or come from the general pool (bootcamp).
Make no mistake, both companies get headcount budgets driven by org-wide budgets set by the very top and HR uses that budget with very complicated formulas for determining how fast they need to hire to maintain or grow headcount to stay ahead of people leaving. Also, engineering managers absolutely have endless work to assign to new hires. So given the headcount, they will definitely make use of it.
All that to say, I do think Meta's internal team structure made it far easier to over-hire and Apple's intentionally inefficient structure prevented doing the same.