Then comes kids...
If you're willing to share you can get for cheaper. If you want 1 bedroom you're going to struggle to find something for $3k.
From what I have seen the salary spread between say SF and NYC is not enough to compensate for the higher rental costs in SF.
Good luck with burning out at 35 with no passive income streams. I'd rather build equity, and even have a couple of rental properties from being a top 10% earner in a smaller area. That's a million dollar piggy bank being filled by someone else AND a passive income stream on which to retire.
Americans tend to believe they are wealthier than anyone else. Not so! Apart of the fact several countries in Europe have higher salaries (and cost of living than the US) there's the fact major cities are much more expensive than smaller ones, even in poorer countries.
Case in point: The most expensive cities in the Americas are Sao Paulo, Bogota and New York. You can easily enjoy a higher standard of living earning $70k in most of the US than you can in Sao Paulo or Bogota (I've lived in both, I know it for a fact)
$70k in Sao Paulo doesn't go much further than $70k in New York (or Tokyo, London, Paris, Singapore...)
Do I have to remind you how much a computer, a smartphone or a car costs in Brazil compared to the US?
I doubt your claim of finding "good enough" developers for $35k. I was making more than that in my first job, fresh out of school, when I had zero real world experience, working remotely for an American company, and that was in the early 2000s.
Most companies would be elated to find even a competent html/css/js coder for that price.
About the $35k claim, let's make the math: currently USD 35k ~= BRL 115k. 115k/12 ~= 9.6k. That means USD 35k/year is roughly BRL 9.6k/month, which is the salary of a Senior Java guy here. Idk about 2000, but it seems like you were doing very good back then.
Most software developers, as most people, in South America simply cannot afford the standard of living of a first world country, even when they make a great salary for local standards. Most things don't cost any less just because the local population cannot afford it (and very often they cost more).
You're comparing local salaries with remote salaries. It's very different, 95% of local guys are unemployable remotely due to a combination of lack of language skills (huge factor), low skill level, shitty work ethics (another huge factor) and being stuck in dead-end technologies like Java.
When American companies look for remote developers they want people who speak excellent/perfect English, are in the same time zone, have (at least) above average skills and are willing to work like Americans do (Americans are workaholics, you'll be surprised at how damn lazy/unproductive most people are). I've been working remotely for 10+ years and I've been asked to find local talent several times, and finding it is hard. I've only vouched for one guy in all this time, and he quit after 6 months and moved to the US (and the pay was spectacular for local standards).