Kurze Antwort: Das Vorhaben macht heute keinen Sinn mehr.
Der Ansatz mit dem geteilten Kern stammt aus der Zeit vor Composer. Damals war es tatsächlich aufwendig, mehrere Instanzen aktuell zu halten. Mit Composer hat sich das grundlegend geändert.
Das Problem mit dem Shared-Core-Ansatz:
Composer ist so gebaut, dass jede Installation ihren eigenen vendor-Ordner hat. Das ist kein Fehler, das ist Absicht. Unterschiedliche Extensions, unterschiedliche Abhängigkeiten, unterschiedliche Versionen. Das sauber zu trennen bei einem gemeinsamen Kern wird ein Wartungsalptraum.
Dazu kommt: Ein Update am gemeinsamen Kern muss mit allen Instanzen kompatibel sein. Wenn eine Instanz eine Extension nutzt, die mit dem Update nicht funktioniert, hast du ein Problem bei allen Projekten gleichzeitig.
Die bessere Lösung:
Investier die Zeit lieber in eine saubere Deployment-Automatisierung. Mit Deployer, GitLab CI oder GitHub Actions kannst du composer update typo3/cms-* auf zehn Instanzen in wenigen Minuten ausrollen. Ein Script, das alle Projekte durchgeht, Updates zieht und deployed.
Mit Tools wie Renovate lässt sich das sogar teilautomatisieren. In Kombination mit Frontend-Tests kannst du den gesamten Prozess zu 100% automatisieren: Renovate erstellt die Pull Requests für verfügbare Updates, die Tests laufen durch, und bei Erfolg wird automatisch deployed.
Der vermeintliche Vorteil (ein Update für alle) lässt sich damit genauso erreichen. Ohne die Nachteile der Kopplung. Und du behältst die Flexibilität, Instanzen bei Bedarf unterschiedlich zu behandeln.