Later in my career I worked with a team from Hong Kong as well, the cultural gap was less significant and they were able to work well with the management style given. We still had timezone issues (moreso since I'm from the UK which is further from HK than from India), but because they interpreted tickets in the same way and had similar views on what the definition of done was things were far more harmonious.
Communication is a huge factor in remote teams, and whilst there are lots of tools to aid it, communication styles across cultures can be very different which can cause a lot of friction.
I definitely agree with you though. We interviewed one person that was exceptionally good: very experienced, good comms, ticked all the boxes. His salary expectation was around a junior dev salary in the UK, which unfortunately was too high for management who had set a budget per developer, rather than thinking it was worth hiring him and one other instead of four lukewarm devs.
Another was their definition of done. They would finish a ticket and mark it as resolved as soon as the functionality is partially working. I think because QA is enormously cheap in India they were used to handing things off to QA as soon as possible to save their own time. We didn't have a QA department so that was quite problematic. I started having to include all the edge cases I could think of in the ticket.
I don't think it's necessarily wrong, it was just different, different levels of politeness and views on managing their time. But it was these differences that made things more difficult for everyone involved than I expected. They probably had a lot of issues with my management style as well, although they were too polite to say anything :)
Could it be the proximity to similiar-culture Eastern Europe where inexpensive developers are easily available?
I've never lived in the Netherlands, but I hear that employers there will also contribute towards a pension for an employee. This pension will be managed by some sort of private company. I'm not sure if it's a defined contribution or defined benefits pension. The details on when you get your pension and how much you get probably depend on the company that is managing it. It may be that a couple years of working will get you a very small pension or it may be that there's a minimum qualifying period. In any case, you should be able to get some benefit from it, even if it's a one-time lump sum payment.
If you google around, you can find stories of long-time ex-pats getting blindsided by the taxes associated with those pensions.
In terms of "take home per month", expect between 2.5kE and 3.5kE for places like Ireland/Germany/Netherlands (YMMV) for a higher seniority
Now in Spain, Portugal, Italy it is going to be lower
You can just "deal with it" and your budget, codebase, and timeline will suffer. It adds a lot of overhead. Hiring a worker a timezone or two away that speaks the same language and shares a national, if not regional, culture with the rest of your team is an entirely different proposition than hiring one on the other side of the planet that speaks a different language. It CAN work, I've seen it. But I've seen it be a deal breaker much more often.
You certainly have some benefits of having teams spread out around the world, as you could virtually have someone working at any hour of the day.
But communication is very hard with the foreign countries, because of 2 things: time difference, and some language barriers. Even with only the 3h time difference, communication with the east coast is sometimes problematic.
It really depends on how your team works, but let's say you insist on code reviews before submitting code, then you can easily loose days between a dev in India and a dev in the US.
Or for that matter, if your QA is in India and your devs in the US need more information to investigate, that can take days...
I worked at a company like that. I'd come into the office in the morning to see a ticket from a QA person in India, they didn't provide the information I needed to reproduce/investigate the bug, so I left a comment asking for it. Of course, they didn't get back to me until the middle of the night (my time), so I couldn't act on it until the next morning. And then, of course, I'd fix it, and they couldn't verify until the next night...
I've done remote development as an employee, remote development as a consultant as sole developer on a project, and local development as an employee working with other remote developers. IMO a lot of the issues people have come from inexperience with asynchronous communication.
I would argue that growing up writing open source with international teams, using IRC and email lists, not only has made me appreciate remote work better, but also gave me a mindset to understand asynchronous distributed systems better, too. But it's not an insurmountable advantage; I believe any team, if it cares enough, can work effectively with remote developers, and get the morale and cost benefits of doing so.
South Americans (or even Mexico) will have a smaller time zone difference, less cultural differences.
Southern western Europe might be a good source of developers as well