@halemmerich: I downloaded the JS part of hrmaccevents app to my bangle.js2 (with method=2) and let it running for several minutes. The resulting CSV will for a while be at https://www.fi.muni.cz/~kas/tmp/hrm-log.csv (2.3 MB).
@Gordon: Would this file be usable, provided that I amend it with either an external log file from Garmin watch or paste the heart rate from Garmin as the last (BTHRM) column?
I tried to import the Garmin .fit file into the GoldenCheetah desktop application (https://www.goldencheetah.org/), and it apparently can export the data as CSV. The only problem is that the resulting CSV has relative timestamps starting at zero. But I guess I will be able to synchronize it either using the GPS data or simply by starting at the same time on both devices.