What I strongly oppose is - and I've seen this up close and personal three times in the last five years - large companies or investment companies buying/merging smaller companies, then gradually offshoring/firing (about 10-20% per year) US jobs in favor of overseas jobs while keeping their customer base. These companies, their revenue streams, their customers exist because of US employees and engineers, and yet they're thrown out at the first chance because someone overseas will do the work for less (often one third of a US salary). This is a complete betrayal of the people who worked to build these companies in the first place. These revenue streams would not exist without them.
H1-B is used in a very similar way: they get anyone they can over here, and pay them 10-20% less than a US counterpart, then use that to justify lower wages/raises to existing employees.
I agree that some people unfairly blame the overseas engineer, but don't simply write them off as racist or hateful - they're having their livelihoods taken from them, and leadership is very good at hiding or shifting blame.