Can I suggest the following solution for the issue of when a game starts once it has all players or if it is force started.
As each player joins the game they are shown a start time screen, this screen has a tick box per hour, with each hour initially selected, as each player joins they are able to untick the hours on which they don’t want the game to start. As each player joins they see the latest range of available start times.
When the game is full or is force started it then starts at the next selected hour.
The first player to join the game would be able, if they wanted to, to un select every hour except for one, effectively selecting an exact start time.
The displayed start hours would be localised to the players time zone in the same way that the time is localised in game.
The minutes past the hour could be selected, randomly, by the server.
I am not sure if any load management is required on the server(s) but the exact minute on which the game starts in the selected hour could be selected to help manage this (maybe).