Before going too far along, I must mention that there is a Shelly binding that does not require MQTT which should be far simpler to set up and use.
I don’t know whether or not that availability topic is supposed to control the ONLINE/OFFLINE status of the Thing. It could be used to update the Items linked to that Thing’s Channels to UNDEF when it goes offline only. Typically, that ONLINE status for the Thing is mostly just an indicator that the communications path is still up; in this case that OH is still connected to the broker.
Whether or not the Shelly is online or not, you can still send messages to it and, if the messages are retained, the Shelly will act upon them when it does come back online. So the communications path is still online even if the device is not.