I'm not an authoritative legal expert, but to me Upwork's refusing to change the status of the worker at your request is a violation of the IRS code. Worker classification can be retrospectively changed even if contract between the two parties states something else, or when new facts about the work details or work process emerge. It can happen that a worker starts his job duties as a freelancer, but later he performs the job as a regular employee from a legal point of view.
I understand it could be subject to an interpretation, but your clearly asking them to change the worker status, and their direct refusal and even an attempt to do so, brings additional questions about legality of their operations.