We have workers all over the world from Manila to New York to the UK. We have set schedules for each timezone we are present in, and assigned those schedules to each user according to their work schedule. Some are full time and some are part time of various flavours but we have a schedule for each.
Our projects run off of 2 main schedules; US full time (40 hours) and UK full time (35) hours. I have a Fusion automation that sets the schedule for each new project according to the time zone of the project creator.
Setting the above is essential for accurate dates between time zones. If you don't have Fusion, you should set the project schedule manually upon project creation.
When a task is created in a project in one time zone but assigned to a user in another time zone, the start and due dates and times correspond correctly. If a task is due at 15:00 (3pm) in the US but assigned to a UK user, that task due date will move to the next day since 3pm is after hours (5pm) in the UK. This is expected behavior.
A good practice would be to always set project start to 9am in it's time zone. This helps a lot with not pushing tasks to the next day in the same time zone. When setting durations (to get your desired due date and time) pay attention to the due time and adjust accordingly depending upon the assignees time zone. This works for us as is expected.
One area that is broken is Calendars and Time Off. Example: If a user takes a day off in the UK, it will show as 2 days off in the US since the UK full day spans 2 days in the US.