One option could be to use data attributes on the entires listed on pages one and two. Then attach a click event that reads the attribute value on click saves it to localStorage. This way you wouldn't need to make an extra db call on page three.
In the loop the data attribute value can come basically from anywhere. E.g. post meta, some post field, taxonomy ...
I think the issue is that it's being interpreted as a STRING type and being ordered character by character. Maybe try turning this into a meta query and forcing the DATETIME type like the example shown below:
'meta_query' => array(
'starttime' => array(
'key' => 'start_time',
'type' => 'DATETIME',
'orderby' => ...