a server which takes in a message and delivers it to those other MQTT clients who have subscribed to it (filtering). You can do the same on your own, but if what you need is already exactly covered by MQTT, then it's not a bad choice.
Yes; referring to that "heating controller" thread, this is appropriate. But since you already need LWIP+TLS (by "need" I mean to please customers who are "internet security experts") the advantage of MQTT is only in that you have ready to roll packages for the server code. Not for the IOT device, really, once you have a working TLS Client.
In reality, I think the server code will involve a lot of extra work anyway, because you need to offer, and carefully manage, stuff like firmware updates. And since OTA FW updates have the potential to blow up your company

you need to control the distribution with great care. For example if you have multiple customer device blocks, you want to update the smallest customers first.
until you realize that other clients do not want to run MQTT clients to get those raw messages generated by the IoT devices
I think this is a rare requirement. Going back to the "heating controller" (which I think must be a classic
practical IOT application scenario) the whole reason behind this topology is to avoid exposing the IOT boxes on open ports, to limit the exposure to a robustly configured and well protected server, which passes messages to the clients (and they collect them periodically by "checking in"). Perhaps MQTT supports this?