MQTT setup not working

I am striking out badly trying to get the new mqtt format set up (seems there was a change in May/June 2022).
Any pointers to what I am doing wrong is appreciated.

The switches operate properly at the wall.
I can use mqtt_explorer and home-assistant’s mqtt integration tool to turn the lights on and off using cmnd/front_floods/EVENT and payload of ON or OFF
I cannot turn on/off the lights from the HA UI.

Monitoring the traffic on mqtt broker, the HA UI only sends OFF commands.
Until I turn the lights on/off using either mqtt_explorer or the HA mqtt tool. Then, traffic shows HA UI sending both on and off commands (the light icon is dark, tap it, it goes yellow, ON command in mqtt traffic).
However, if I restart HA, the UI stops working and sends only OFF commands.

I changed the UI’s card information to ‘default’ for action - it was on ‘toggle’. That made no difference.

In configuration. This is a moes 3-way switch, which cannot use the tasmota or mqtt integrations (per directions but not these). So in my config file:

mqtt:
  light:
    - name: "Front Floods"
      state_topic: "stat/front_floods/POWER1"
      command_topic: "cmnd/front_floods/EVENT"
      availability_topic: "tele/front_floods/LWT"
      payload_on: "ON"
      payload_off: "OFF"
      payload_available: "Online"
      payload_not_available: "Offline"

This is what is in the tasmota interface.
The switch works properly (rules work)

MQTT Topic           front_floods
MQTT Group Topic 1   cmnd/tasmotas/
MQTT Full Topic      cmnd/front_floods/
MQTT Fallback Topic  cmnd/DVES_443B5A_fb/
MQTT No Retain       Disabled

The rules are set up to listen for EVENT ON and OFF.

Has it ever worked in the “old” format?
AFAIK, the only thing that changed is where to put the, e.g., “light” configuration (now under “mqtt”), not the actual parameters / way of working.

Yes. it worked for several years in the old format.

Bumping this.
The behavior persists. HA UI does not control the light or display its status until mqtt traffic ‘wakes’ HA.

HA UI only sends cmnd/front_floods/EVENT with payload of OFF until HA ‘wakes up’ - never an ON payload. And the switch does not respond with a message stat/front_floods/POWER1 with payload OFF - I think this is how Tasmota is programmed: to not send STAT unless the CMND changes the device’s state.

mqtt traffic can be sent from the HA integration’s publish/listen page, mqtt-explorer, or mqtt_lens. The switch will respond with the correct stat/front_floods/POWER1 message. At that point HA will ‘wake up’.
I can also wake HA by sending cmnd/front_floods/power1 with no payload.
HA also wakes up if I restart the tasmota device.

I was thinking the setoption4 or setpoint59 in tasmota needs to change, but I tested these in the ON setting and no change in behavior.
I think this has something to do with HA not knowing the device state due to not receiving information, and therefore always sending an OFF payload, which does not result in a reply by the device.
I am not sure where to go from here, other than having some automation send CMND message at HA reboot. That does not sound elegant or stable.

Well, I have struck out trying to resolve this. No one on this forum, the tasmota forum, or the home assistant reddit forum has any clues as to the cause - I think it is a bug.
I put in an automation to send an ON and OFF payload to each of the affected lights at home assistant start up and that seems to make it work. Not elegant though.

- alias: tasmota_wake_up
  trigger:
    - platform: homeassistant
      event: start
  action:
    - service: mqtt.publish
      data:
        topic: cmnd/rear_floods/EVENT
        payload: "ON"
    - service: mqtt.publish
      data:
        topic: cmnd/front_floods/EVENT
        payload: "ON"        
    - service: mqtt.publish
      data:
        topic: cmnd/garage_ext_r/EVENT
        payload: "ON"
    - delay: 1
    - service: mqtt.publish
      data:
        topic: cmnd/rear_floods/EVENT
        payload: "OFF"
    - service: mqtt.publish
      data:
        topic: cmnd/front_floods/EVENT
        payload: "OFF"        
    - service: mqtt.publish
      data:
        topic: cmnd/garage_ext_r/EVENT
        payload: "OFF"