How do I make meaningful use of MQTT QoS?

I have a heartbeat process where one message is sent to the message broker. This is picked up by several devices which send a response message.
The response message is read by an MQTT automation which uses TTS to speak the message.
It all works fine when only a single device is responding. However, if several devices respond at the same time only the last message is picked up by the automation.
The documentation says that setting a QoS of 1 or 2 should get the queue to process correctly in sequence. But the messages generated always have the QoS set to 0.

I have tried, setting QoS in device’s write statement:

        - mqtt.publish_json: 
            topic: heartBeat/Response
            payload: |-
                root["Device"]="DoorBell";
                std::string val2 = id(textStatus).state;
                root["Status"] = "DoorBell " + val2;
            qos: 2

I have tried writing the message directly with the tools on MQTT settings page.

I have used Node-Red to generate a new message with the QoS set to 2.

In all cases when the message is read by the automation, the QoS is 0.

Environment is a Pi 5 with 4gb memory initially built with the PI imaging tool.
Core software is 2025.12.5
ESP Device Builder is 2025.12.4
Mosquito Broker is version 6.5.2