FEniCS is very stable at large scale with MPI parallelism. I have run simulations with up to 24000 processes, and 12.5 billion degrees of freedom.
What is less well tested is the behaviour with disconnected meshes, but it is not, in principle a problem. If you have separate components, with separate meshes, why do they need to be modelled together - what is the nature of the coupling between them?