The best employees are very hard to find because they're always employed (for themselves or others) and when they do go looking for work, they rarely look through regular recruiting ads (since good workers know: these are a waste of your time). You either need to poach them, target them, acqui-hire them or encourage them to seek you out.
One of the easiest ways for the latter to occur is if they simply want a working holiday (very common for employees aged 25-35). Many people will try to get a job at large companies in an area they'd like to visit. But they'll expect you to help with their working visa.
Even if you're poaching, targeting or acqui-hiring, you need to be able to bring the employees to your place of business. If they can't get a visa, you've wasted your time and money.
My guess is large tech companies are eager to import foreign talent primarily because of cultural and socioeconomic differences. Who would you rather hire to maintain your legacy code bases? A skilled immigrant that's thankful for the six figure salary and will obediently complete their tasks without much fuss? Or the native-English-speaking citizen who can find a six figure salary at any of his friends' companies and will walk as soon as the legacy codebase's tech stack starts to reveal itself as less-than-inspiring?