When you withhold tips, you are also stealing from the customers who left the tip.
It's not just a contractual matter between the employer and the worker.
If I leave a tip for some reason, it was hard earned money being handed over because it is mine to do with as I see fit. It's no business of the employer to get in the way and whether the employee/contractor consents is irrelevant.
We'd see less of these abusive practices if we recognised them for what they are.