Not OP, but I work in a company that is fully remote with a mix of offshore and onshore.
It's possible we'd hire junior engineers locally for the offshore roles if we went fully local, but there's zero chance that we could offshore any of our existing onshore roles. This is for a few reasons:
1. Data law compliance. We can't let people outside the US see PII, which precludes them from participating fully in many support roles, including rotations within engineering.
2. Time zone differences are huge. We have some developers in Eastern Europe who we love, but coordinating their work with the roles that we can't offshore is substantially trickier than local employees. At a certain point it's more rational to pay higher salaries for US-timezone employees.
3. Cultural differences get in the way. It's far easier for a product person or a designer to get an idea across to someone with shared cultural context, so there are fewer back and forth iterations when there are US employees on a project than when there aren't. For the same reason we can't offshore design roles since we're serving a US market, so that doesn't work as a solution.
4. There's substantial difficulty in filtering for quality. We have some offshore contractors who've been with us for years, but we've struggled whenever we tried to add new ones. Hiring is always hard but it's particularly hard when you're either doing it indirectly through a contracting company or doing it yourself across cultural barriers.
Lastly but perhaps most importantly, when we're doing offshoring through contracting companies who take a share of the fee, the difference in cost versus a US employee is much less significant. And if we're not using a contracting company then we're on the hook for figuring out the tax situation ourselves and as I mentioned filtering for quality is much harder. So it doesn't save as much money as people would assume to offshore a role.