... @Marie here also has some general Wear OS connectivity issues if I understand correctly. I really don't understand what is Google doing with the platform but it is not so great so far :/
@Marie
Thanks for a lot of info and nice graph to show what is going on. It seems you actually have 2 separate problems. The first one is a problem that fera and a also sometimes Danjel have which is that a lot of data is missing from the recording so the HRM is dropping to zero way too often. That is something I will try to fix.
The second problem seems to be that your watch is probably killing of the foreground HRM service when you exit the app. That is something I will check but honestly don't think I will be able to fix. The OS should not be killing off foreground services under normal circumstances and I am not sure why your watch is so mean to do that to the Locus app.
...
In the meantime, I did some changes on my phone and updated everything I could (system, google play services, Wear OS to latest version).
The Wear OS (connection) problems might be solved - I need to check over a longer time then the single bug-free day I had.
The problem was there on MIUI9, and was slightly better on fresh install of MIUI10 (8.9.6, last weekly version from miui.cz) without any changes from standard settings. It still didn't work well enough and I got BT-disconnects quite often.
To troubleshoot the bluetooth connection, there are some changes needed in the system: both Locus and Wear OS need to have "power saving" disabled, additionally both need to be "locked in memory" and both run slightly better if "wakelock" is manually enabled in permissions (including allowing wakelock initialised from 3rd party apps). I suspect this would be true for all apps which have to run even in part in the background - for example the HR zones plugin. This seems to stabilize the Bluetooth connection so that no "lost connection" comes up. It did clear the problem when the watch couldn't be paired at all as well, no more "Airplane mode" on/off or resetting the phone and hoping for best to get it working since I set it up this way.
It isn't enough to disable the power saving features, for some reason it needs the additional changes as well.This might (but only might) be a solution even for MIUI9, but the settings (and switches) needed are hidden deeper im System and some might be inpossible to set without rooting. No idea, I won't be going back to this version.
With these settings, Locus is running stable on both phone and watch, the connection is solid and the recording can be initialised from phone or from watch, and closed from phone or watch as well.
Regarding heartrate from the watch:The Locus app was on the watch in foreground, on screen. I have disabled any power saving feature I found/I could access. Unfortunatelly, I cannot fine tune it the same way as the phone.
Locus was running fine, but the HR was not read (this time, on its own it didn't get even single reading). As soon as I started SGT on the watch, Locus on the phone started to display HR, the recording includes both HR and cadence from ANT+ sensor without a problem and without a single glitch anywhere.

I am ready to test any beta version for possible solution. But for me, this is working fine just as it is.
It just seems that
Locus on Wear, at least on my watch, would need to push harder to get HR reading, it
can at the moment only read the heartrate if it is already provided by something else. Just to be clear, it does have the needed premission - this shows inside of the app on watch as well as in application info in system. I did look at permission of SGT - this has additionally "storage" and "GPS" permission on the watch.
Majka