I ran the pre-flashed CC2531 with Zigbee2MQTT alongside the Sonoff Zigbee Bridge with ZHA for a while with different devices connected to each before finally moving everything over to the Sonoff/ZHA.
They both work well and I did not experience any problems with either however Sonoff/ZHA is integrated natively and you do not need to edit any yaml or stop/start the service to add new devices. On my setup I was also able to eliminate the Zigbee2MQTT Docker container which is one less thing to have to manage and keep updated. However, perhaps the biggest advantage is that because the Sonoff is Zigbee>WiFi it can be located centrally for optimal coverage and is not tied to your HA hardware.
The only thing to bear in mind is that many of the Aqara switch modes (single click, double click, hold etc.) are treated as events in ZHA that act as triggers for your automations, whereas these are entities in Zigbee2MQTT. Some people might not like this but I think it makes sense as why would you want to clog up you entity list with binary_sensors which will never need displaying in the front end. You can press a device button while listening to ZHA_events in Developer Tools to work out the syntax for the various button presses.