I think it's also worth starting the discussion on
the LSP tracker itself about whether the protocol should emit some
documentation, constraints or recommendations for such case: is a language-server expected to serve for all children file of the root folder? Can you please bring this
to the LSP spec too? LSP4E can take a pragmatic choice independently of
the spec: if we see all LS that are used over LSP4E these days do work for any child under a project, let's not make the spec a blocker and let's proceed with your proposal.
I'll have to check with Eclipse aCute (Omnisharp-Roslyn language server) and Eclipse Corrosion (RustLS) but I'm quite busy today and I'm on PTO for a week after that. Lucas is also on PTO for 2 or 3 weeks IIRC, so we won't be able to provide feedback about those projects before ~10 days.
If after extensive thoughts and testing (ideally against aCute and Corrosion too) some other committers are fine merging this change in my absence, I'm all fine with it. I don't want to be a blocker here.