Noch irgendwelche Sachen die ich dir "schuldig" bin ? 
Außer der LWT Info nichts. 
Das Auslösen der beim Broker hinterlegten LWT Nachricht ist ja unstrittig. Diese hast du detailliert aufgeführt in #10.
Es geht aber um die LWT Nachricht selbst, Topic + Payload, die der Broker vom Client erhalten muss, damit er diese in seiner Datenbank hinterlegen kann und zwar nicht als übliche retained Nachricht.
Dies lässt sich relativ leicht testen.
Ich ließ den Shelly online und sendete von einem anderen Client eine Nachricht mit dem LWT Topic des Shelly und der Payload "aha".
Der Subscriber erhielt sofort die Nachricht "aha".
Dann trennte ich den Shelly von der Versorgung und wartete.
Nach der kleinen Ewigkeit von ca. 90s traf die LWT Nachricht des Shelly ein mit der Payload "false".
Somit ist klar, dass es LWT Nachrichten gibt, welche der Broker als solche speichert und nicht wie eine normale retained Nachricht behandelt.
Wäre dies nicht so, hätte der Subscriber nicht die LWT Nachricht des Shelly mit der Payload "false" erhalten können, da der Broker als letzte retained Nachricht mit demselben Topic ein "aha" gespeichert hat.
Also muss der Broker zwischen LWT Nachrichten und normalen retained Nachrichten unterscheiden.
Wann der Shelly diese spezifische LWT Nachricht an den Broker sendet, bleibt noch offen. Er kann dies dann tun, wenn diese im Shelly geändert wurde, wofür ich nur das Ändern des MQTT Prefix kenne. Er kann die LWT Nachricht aber auch nach jedem Booten an den Broker senden. Dies ist tatsächlich unerheblich, da die LWT Nachricht eh vom Broker gespeichert wird. Ich vermute, dass der Shelly mit jedem Booten seine LWT Nachricht sendet, da man ja auch den Broker wechseln kann.
Auch dir und allen Mitlesern Frohe Ostern! 