If you have a dynamic set of databases or even tables, be ready to invest into tooling to recreate features you take for granted in a normal database.
IIRC, Slack had a lot of scaling issues when they won a deal with IBM. Jumping from medium-size customers to such a behemoth will obviously be a challenge, but a lot of the difficulties they faced was non-technical and more business-related (“What do you mean, you want our product but not our monthly plan charged per seat?”). Anyway, that's a nice problem to have for a start-up ;).
I have no affiliation with the product, but I have been comparing alternatives and it seems like that's where it shines.
4. By splitting, you limit the exposure in case of SQL injection.
5. By splitting, you can have good performance for the customer who has 1M records, and good performance for the 100K customers with 10 records.
Two disadvantages that stand out for me are:
1. You must be able to scale the database up to your biggest customer and down to the your smallest this can be increasingly difficult to provision.
2. You are stuck with customers being isolated and makes it much harder to develop features that cut across a group of customers.