It might sound silly but I've found it to work quite well for me: I store the (rather coarse) data on these exercise activities in my Google calendar.
I also do some more fine-grained analyses (e.g. looking at heart rates) via Garmin and Strava but for cross-discipline comparisons I mostly rely on my calendar entries.
I've found the calendar to be extremely reliable -- knock on wood -- over long time horizons (I have exercise data going back to 2016). Also, it's very flexible. I store additional metadata, e.g. the distance of a run, in the event description.
At some point I explained this a bit more in this post: https://kevinkle.in/posts/2018-10-21-running-log/