Synapse is the most feature-complete server, and still the one to receive spec compliance updates the fastest.
For a small number of users and bridges, it being written in python is not a concern performance-wise.
Not sure what you mean by multiple domains. The domain of the home server IS its identity, same goes for user addresses. You can't have multiple addresses all hooked up to one account on one instance. (At least not until account portability is a thing)
You could run multiple homeservers with different domains, tho. They'd essentially be separate instances, interoperable through federation same as everything else.
Synapse is what matrix.org currently runs, while Dendrite is what it will eventually use.