FWIW, I have a master-slave setup via MQTT.
The point is to put radio related stuff (zigbee-ZHA, BT) as far as possible of interference sources (mainly the USB3/SSD ones generated by my main HA setup on RPi4)
On the slave, I use MQTT StateStream: MQTT Statestream - Home Assistant
On the master, plain MQTT discovery: MQTT Discovery - Home Assistant
As those two are basically incompatible (go figure), I created a blueprint that publishes discovery-compatible topics based upon the statestream one: MQTT State Stream to MQTT Discovery