This is an interesting file! It is xml, and it's about strings of points, representing a route.
Basically, it transfers a route including start location (including name) and end location (including name).
And the geographic bounding box for the route.
And the transport type (motorcycling), and preference (CurvyRoads).
Then all the road segments, but translated to listst of nameless geolocations.
Which means it transfers the details a router needs or may use, but not actual roads (which are Id's in a map database). A Garmin device or app shoud be able to use this to recreate the route very accurately, assuming it has tthe same map as was used for creating the route.
Basically it still contains a string of trackpoints, but does not use the standard gpx trackpoint and waypoint specs. Instead, it uses its own extensions for what they call route (rte), routepoint (rtept) en gpx routepoints (gpxx:rpt). All in all, it's still a list of geolocations, but a standard gpx it is not, and that's probably why OsmAnd cannot use it: OsmAnd looks for trackpoints (trkpt) , not the Garmin alternatives. I think I would not call it a gpx-file at all, no matter what name extension it has.
If a Garmin device reads this, it still has no information about roads, so it has to give instructions as if there is no map, just which turns to make to get to the next point. It doesn't know about roundabouts.
If you tell it to Snap to the roads, the router will use all the trackpoints to calculate which actual road leads there, then it can give instructions based on the the map, road name and type etcetera.
Disclaimer: The road segments also contain a "gpxx: Subclass" number, which probably transfers some information about the type of road. It does not look like they are unique road segment identifiers. But I can't be sure. If they are unique road segment identifiers, then it would be redundant to transfer separate points on this road as well.
Compare route relations in OSM: these are lists of object Id's, each id represents a way. To transfer this, technically you only need to transfer the relation's object Id. The target app or device could then retrieve the route and the metadata from OSM.
For routes created outside of OSM, you would need to transfer the list of OSM way id's and the metadata. E.g. in an xml-file which would look somewhat like the Garmin routefile, only much simpler: no routepoints or trackpoints needed, just way id's and a header for the metadata.
Ok, too much info! I'll stop here.
Peter Elderson