It goes without saying that your concerns about a central server causing outages for the entire organization are valid. However, I would argue that global network outages are less of an issue today now that we have robust hosting services from AWS, Google, Azure and others. They can provide hardware level clustering and redundant internet connections. Given that you would likely be using the internet for your SIP trunks, you already have a dependency on the internet connection. However, I suppose you could have a database corruption or something like that which would not be addressed by clustering or VM replication. I will say, having spent some time working in the 3CX support organization, 3CX software failures are rare -- provided you are not doing something stupid like scanning a live 3CX database with anti-virus, etc.
Yes, you can have your own receptionist for each site even with a centralized server. What you cannot do easily is have separate operator extensions for each site. That is one of the limitations of a central 3CX server.
Yes, you can use 3-digit dialing across bridged 3CX servers using the existing approach of the first digit representing the location (though not required, it is a best practice).
Regardless of whether the SOHO users have a router-based VPN, they can use a hardware phone. It's easier to provision a physical phone with a hardware VPN, but not required. However, if you have multiple phones behind the same remote router, then a SBC would probably be appropriate. An SBC is not required when using the software clients.
Bandwidth requirements depend somewhat on what codec you choose, but I think 150kps is typical.
3CX does NOT offer a unified company directory that spans across multiple bridged 3CX servers.
One of the many strengths of 3CX is the ability to build custom integrations and extensions. For example, it is completely feasible to build your own company-wide directory. I'm not saying it is trivial, but this is exactly the kind of thing our company does. In fact, we built a "universal directory" for a customer probably 10 years ago. I have often thought I should dig up that code and make it another tool in our commercial suite of add-ons for 3CX. Maybe I will. You can't be the only company that would want the feature

.