Apologies in advance, as my knowledge is more on the geospatial side than on the SPARQL side, so I am interested if there is a solution as well.
Geospatially speaking, order can be preserved if the chronologically sorted points returned can be converted to a LineString before display. Looking into the topic, it seems that for this to be supported you might need to support GeoSPARQL extensions.
The only reference I could find to a function for this conversion from points--> LineString was in these docs:
in which there is a reference to a GeoSPARQL extension function that could be of use:
shortestLine(geomLiteral g1, geomLiteral g2)
This appears to only create individual line segments between 2 points at a time, but it is a start. LineStrings can be arbitrarily long, however, so using 2 points is just the bare bones of functionality. A function that accepts an ordered list of points would be more ideal.
Geospatially speaking, individual line segments can also be grouped together as MultiLineStrings, which would allow you to join multiple journeys together (useful for e.g. taking one long train journey and connecting to a second train line midway).
Other docs that seem to mention support for LineStrings or MultiLineStrings if useful: