As far as I can tell, this isn't possible to do at your end. I've got a Fitbit Surge, and although it is possible to export TCX files via the Fitbit website, the resulting file is useless (I'll paste in the complete file from a recent hour-long bike ride below). The Surge does have GPS built-in, and I suspect that if I turned on its GPS for a bike ride (at the cost of drastically shortened battery life), the file would be useful, but then there wouldn't be much need to combine that with another GPX file. Fitbit doesn't make it easy to play with other devices.
It's frustrating, but I think the right thing to do is to get a HRM that communicates with your Garmin over ANT+ (which most HRMs do, and which your Garmin supports). Or connect up to Strava, which seems like a viable option.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TrainingCenterDatabase xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2">
<Activities>
<Activity Sport="Other">
<Id>2018-08-27T12:06:50.000-05:00</Id>
<Creator xsi:type="Device_t" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>Fitbit Surge</Name>
<UnitId>0</UnitId>
<ProductID>0</ProductID>
</Creator>
</Activity>
</Activities>
</TrainingCenterDatabase>