The problem with the term "swamps" is that implies that the places so described are lifeless wastelands, are of no environmental or other intrinsic value, and that it is no big deal to drain them and pave them over to build strip malls.
There is also the fact that our current "president" uses the term "swamp" as a euphemism for some mythic form of elitist corruption.
I only used "undocumented immigrants" at the end-the term I mainly use for people in that category is "undocumented humans". Why shouldn't we define them first by their humanity, rather than the fact they technically broke a law-and, in the case of the families who were separated, didn't actually break a law at all, since the overwhelming majority of that group of our fellow humans are actually making legitimate applications for refugee status. There is no reason to treat these people as though the only thing that matters is the legality of their immigration status.
Also, what is so terrible about calling people "migrant laborers" rather than "hobos"? those two words aren't synonymous.
Why not go with the least-pejorative terms for places and things?