Hello, Jay! Welcome to OSM’s community forum and thank you for your question.
Take a deep breath, this is little technical-wonky, and peculiar to European rail, North American rail and OSM all together. It has evolved over a decade+ in OSM and largely “settled down,” though it still does confuse many. We have good wiki to describe these, which only get better as the years go on. I recommend reading our rail wiki to discover more detail.
As OSM is first and foremost a database (our primary “thing” is our data, the maps, renderings, pretty drawings, ability to route a bicycle or hike…are all extras which are “bolted on” to the “bare data”). Therefore, since your Data → KML → Download process-pipeline for both the France data and the USA data is essentially identical, it simply must be that it is the data, and slight differences in their form, is what is at issue here.
Indeed, there are various methods that have emerged in OSM to enter rail. There are differences in how countries in Europe (especially Germany, which has very specific methods by which it internally structures, groups together and names its rail elements) and countries in North America structure and group together our rail. It has confused many for many years, but think of it like this: in Germany (say), they group segments of rail (multiple ways tagged railway=rail
) together into relations tagged route=tracks
. THEN, there is an additional relation which groups segments of rail together into relations tagged route=railway
. The latter has to do with how, in turn, relations for passengers, tagged route=train
, are constructed: these two are logically linked together, but “in a particular way that Germans prefer for both their tracks and their trains together in OSM.”
But in the USA, because of the way we aggregate rail, (pretty much the same across the three countries of North America, as our rail networks interchange), we see no need for making relations tagged route=tracks
, we “skip” directly to aggregating our ways tagged railway=rail
more directly (no tracks
relation) into route=railway
relations. Briefly, Germany uses railway routes to “prototype” tracks for passenger trains (into certain kinds of aggregations), while tracks routes can be used for freight and industrial lines. North American rail uses the railway routes for both frieght / industrial lines as well as passenger trains, so we eschew tracks relations — no need for them here.
That’s a short version of what I think is at the root of what you are seeing. Though, I’m not entirely certain without a fair bit of trying your pipeline (presently I’m less familiar with it) with various datasets. So, I can’t “solve” this for you, I’m attempting to explain what I know might be a reason for what you are seeing. I hope this is helpful to you!