Hi Bruce,
You've pointed to an interesting topic - usage models. To be honest I've rarely seen cases when a client provided a sandbox for a long-running project where I'd need to allocate a team of developers and use Git. In case if it's not a long-running project, or if there's no "team" that works on a project - I'm not sure that I see and understand the exact flow that you apply and how you'd use the discussed feature in your flow. I'd really appreciate if you can shed some light on it so we'll understand the case better and will keep it in mind, when we'll get to the question of additional metadatas/adding existing files/unlinking projects from orgs.
At the same time there's a good option (for long-running projects, of course), to use own DevHub to spin-up scratch orgs for clients projects development and testing. But, of course, it's also not always possible and won't work for every case.
Regarding workarounds - I've posted another workaround, that involves Ant migration tool, here on the forum. Pull from Git -> deploy with ant task -> Open TWS project -> Pull from your organization -> develop -> push to the org -> retrieve with ant task -> commit & push to Git. I know that it's a workaround and not a completely straightforward way, but there's no straightforward way (without a lot of caveats) to work nicely with Git and regular SF projects. It might look as a complex workaround, but in terms of time required to "prepare" and "execute" it - looks not very bad (i.e. 30 minutes to prepare 2 ant tasks for your specific needs with package.xml + 1-3 minutes on every pull/push to execute Ant).
Finally, we already have some interesting ideas how to resolve a bunch of cases at once - as I've mentioned above it's "additional metadatas/adding existing files/unlinking projects from orgs". As such solution will be a significant update to a concept of a project, as it will also require changes to the build & pull processes and as a migration for existing projects will be needed - we're analyzing it carefuly right now and trying to find any gaps in the logic and in the nice flow that we've built for most of the cases. If all will be good on the stage of detailed analysis - we'll do our best to implement this soultion as soon as we can.
Hope this answers.
Thank you,
Vladimir