Among other insidious functions, like forcing neoliberal economic policy on many of its poorer member states, the EU currently serves as a way for states in western/northern Europe to basically import labour from eastern/southern Europe.
In the former eastern bloc countries, the poverty, unemployment, and general instability caused by NATO’s march eastward mean that these workers have very few options, and so are made to travel long distances to foreign countries, just to get shitty wages and shitty working conditions.
Given their foreign citizenship, they do not share the same legal rights and protections as local workers, who have become more expensive to employ due to decades of union work. They are also more likely to be unaware of what legal rights they do have, given the complicated and bureaucratic nature of laws regarding internal migration and work in the EU.
Also, many of these workers not only don’t speak the language of the countries they arrive in, making it more difficult to communicate issues to and gain sympathy from the general local population, but they also often don’t speak each other’s languages either (some are Bulgarian, some Polish, some Romanian, some Italian, some local, etc.) which inhibits working class organisation amongst them.
Nationalism also creates an environment of hostility, again inhibiting organisation across national divides, as well as making the lives of the immigrant workers more miserable. Additionally, given the desperate situation these workers find themselves in, they are more likely to be overrepresented in crime statistics, which, along with scaremongering about “immigrants stealing jobs”, can be exploited as propaganda by the press to engender the nationalist hostility even further.
All of this is of course dressed up in liberal niceties like “freedom of movement,” which in reality only means that a couple of well-off Danes can occasionally go for a holiday in Croatia with less trouble.