There is nothing special about fit files that come from a garmin device, zwift, or anywhere else.
Garmin determines what it does with the file based on one single field in the file, which is the device. This has to come from a predetermined Garmin list of supported devices (which includes things like ‘other’ or ‘testing’).
Garmin recently expanded the list of supported devices to include more software platforms, such as trainerroad. Zwift is, also, included. All these supported devices work for the firstbeat algorithms (the challenges is a different story).
Changing the device in fitfiletools simply changes this value in the fitfile, for example if you take a fit file from a wahoo elemnt bolt and change the device to Tacx_Smart_Bike it now works for TSS, NP, training load, acute load, training readiness etc etc.