My answer to your question might get a bit technical, but I hope, it will help.
Calendar software is usually separated in two parts (Client–server model - Wikipedia):
- a server, that stores all calendar data
- one or more clients that access the calendar data of the server (read + write)
Calendar Servers can be:
- google calendar as you pointed out in your third bullet
- Nextcloud with the Calendar-addon
- sabre/dav
- SOGo
- Proton Calendar
- Microsoft-Exchange-Server
- …
Calendar Clients can be:
- Thunderbird on your computer
- Webinterface of Nextcloud
- Calendar App of /e/
- Calendar App of other phones
- Webinterface of Proton Calendar
- Webinterface of SOGo
- Microsoft Outlook
- …
A Calendar-Client communicates with a Calendar-Server using the CalDAV protocol (Exchange + Outlook use a different protocol). The idea is that whenever a client changes something, the change is saved on the server and changes on the server get propagated to all clients.
I am not aware of a method for synchronizing calendar entries between two servers. So I can not tell you how to continuously synchronize for example proton calendar and /e/-Nextcloud.
A few years back, I copied my calendar-entries from one server (SOGo) to a different server (Nextcloud) by the following method: I accessed the SOGo-Server with the Thunderbird-Client and exported all calendar entries to an ICS-file - then I imported the ICS-file into the Nextcloud-Calendar. However this was a one-time action.
Also clients do not exchange calendar entries with other clients.
So your question should be: “Which server should I use?”
You could use the /e/-Nextcloud server https://ecloud.global as you pointed out. As an alternative you could use Proton Calendar - or any of the other available servers.
Regarding your question about accessing work-calendar: you would have to configure each of your clients so that it can access your work-calendar-server.
Regarding your question about sharing calendar items with family: they would need to have access to the same server as you to - only then a simple exchange would be possible (For example the Nextcloud-calendar-server supports calendars that are shared between mutliple users). An other method would be to exchange ICS-calendar entries by E-Mail, but this would be user-unfriendly and error-prone.
And: Yes, your question makes sense - I tackled exactly the same issues a few years ago.