A lot of this is down to phrasing, I think.
It seems that saying "You are expected to arrive in good time so that you are ready to start work at 9" is completely acceptable to many; but if you phrased it more honestly as "We expect 10-15 minutes' unpaid work from you every single day, as we don't want to have to pay you for doing the routine prep that's essential to the job", it becomes instantly evident who the CFs are.
If your train left at 9am, would you walk into the station at 9am, NO. That’s the rule I use.
But you're the customer of the train company, not the employee. It's always wise to arrive in time to enable you to do what you need to before 'the main event' - whether getting on the train, arriving for your GP appointment, serving your first customer, taking your first phone call etc. - the question is who benefits from your getting there earlier and thus who should pay for that time?
Get there at 9 sharp and you've missed your train, so you suffer; get to your job as contracted (and paid) at 9, when the job requires 10 minutes of preparation work and so should have been contracted (and paid) from 8:50, your employer suffers; so it's on them to make (and pay for) proper arrangements for their job to be done - the whole job, not just the 'main' part.