That's pretty much my setup too @cflurin, except for zigbee2mqtt instead of xiaomi-mqtt and xiaomi-gateway (the latter replaced by TI's CC2652R1). In addition I have Sonoffs flashed with Tasmota (MQTT) and also a Modbus-to-wifi (MQTT) gateway.
Have you elegantly solved converting the different MQTT devices to Homebridge-MQTT somehow ? Or is that a manual process when a new device is added ?
I am asking because it's tempting to use Redmatic-HomeKit (alternative to homekit-bridged in the topic) because of it's automatic creation of homekit accessories from zigbee-herdsman (if you use node-red-contrib-zigbee instead of external zigbee2mqtt (same core)), but my hope is to elegantly make my own converter from zigbee/MQTT to Homebridge-MQTT, because of the latter's stability and dynamic nature.
This in turn made me think of adopting the homie-convention for MQTT to standardise all info and states in MQTT and node-red, before attempting to automatically convert to Homebridge-MQTT.
EDIT: Didnt mean to hijack thread so started a new one for this: Thoughts on a general Zigbee to Homebridge (HomeKit) converter