Switching OpenTherm Gateway between "Gateway" and "Monitor" mode

I can’t get my opentherm gateway to switch between gateway mode and monitor mode.
I use the nodo-shop opentherm gateway (v5.6 firmware), with the OpenTherm Gateway integration from HA.
My thermostat is a Honeywell Chronotherm Vision.
I’m talking about the gateway/monitor mode from the binary sensor “otgw_mode” (OpenTherm Gateway operating mode), which can be G or M. In “monitor” mode (M), I cannot control the boiler.

With the otmonitor application from https://otgw.tclcode.com/, there is no problem with switching between “Gateway” mode and “Monitor” mode using the buttons on the miscellaneous configuration setting. If I change to gateway mode and change the temperature setpoint, a symbol appears in the Honeywell thermostat (a H character with a canopy), and I can change the setpoint temperature from otmonitor.

If I set the gateway to “Gateway” mode in otmonitor, then it will stay in gateway mode in HA, whatever I do. If I set the gateway to “monitor” mode in otmonitor, it will stay in HA in monitor mode.

If the gateway is in “gateway” mode in HA, I can control the temperature with the Thermostat card. But I cannot find a way to switch back to monitor mode to let the Honeywell thermostat take the control back, other then changing the setpoint on the Honeywell thermostat. If I do that, the H symbol on the Honeywell thermostat disappears, but the otgw_mode stays in gateway mode (G).

If the gateway is in “monitor” mode in HA, I can not control the temperature with the Thermostat card. otgw_mode stays in monitor mode (M), and the H symbol doesn’t show up on the Honeywell thermostat.

I’m not exactly sure what should be the expected behavior, but what I understand from the documentation is that HA should change the gateway to “Gateway” mode when changing the setpoint temperature to anything else from 0.

Also calling the service set_control_setpoint directly with 0 or any other value doesn’t do anything in all cases.

Am I doing something wrong, or is there anything else I have to do? Or is this behavior as expected?