What comes out
A FIT course file: the kind a Garmin Edge or a Fenix reads from its Courses folder. It holds every point of the route with position, elevation and distance, a lap with the total, and the timer events a device expects. If the GPX has times, they are kept; if it has none — a planned route usually has none — the file gets a steady pace so the device can drive Virtual Partner and the turn-by-turn timing.
What it is not
It is not an activity. There is no session, no heart rate, no power — a course is a line to follow, not a ride that has happened. If you want an old ride to appear in Garmin Connect as an activity, import the GPX in Garmin Connect directly; Connect reads GPX and builds the activity itself.
Getting it onto the device
Connect the Garmin by USB, open the drive, and copy the file into Garmin/NewFiles (an Edge) or Garmin/Courses — the device sorts it on the next start. Or use Garmin Connect's course import, which takes GPX as well and syncs to the device on its own; then you do not need the FIT at all. This page is for the case where you do.
Nothing is uploaded
The file is read and written in your browser. It is not sent to a server and nothing is stored when you close the tab.
Elevation
A FIT course carries elevation the same way an activity does, and the device will draw the profile from it. If the GPX has no elevation, the field is left empty rather than set to zero — a flat line at sea level is worse than no line. Where the GPX's elevation comes from, and why two files of the same route disagree, is in what elevation gain actually counts.
The other direction
FIT to GPX reads the file a watch wrote and gives you the GPX. The tools page has the rest.