While I agree with everything you wrote... you could just substitute "migrant workers" for "sex work" & the point would remain the same. The solution to both seems to be, IMO: legalize & regulate.
Oddly (US perspective), it's the Republicans who are against doing either one, & the Democrats who can't propose either one without being demonized. The unfortunate fact is that the humane, practical solution, in both cases, is a losing political strategy currently.
In American politics, there's just no votes to be gained by supporting immigration. And many to be lost. And there's no votes to be gained by legalizing prostitution. And many to be lost. It's not about right policy or wrong policy. It's about there just isn't anything in it for the person running for office.