I normally hyphenate such expressions when they function as adjectives: "white-collar workers". Obviously I'm a bit "old-fashioned" in that respect. (I may also be old.)
And its opposite is blue-collar so nothing to do with racism. Unless smurfs feel discriminated against :)
It’s a reference to working class jobs that are predominantly held by inbred British royalty.