If those projects are open when you change the file, the changes will not appear. Xojo currently doesn’t track that.
That said, the easiest way I’ve found to accomplish this is to put your shared code into a module and export it as XML. It’s not terribly git-friendly but it will work with it being an external item.
If you don’t mind a little more difficult, you can use submodules, but your mileage may vary.
It’s been a while, but I think you’re talking about submodule repos.
Basically it consists of nested repos where the folders of child repos are “hidden” using the .gitignore file. The nested repos are your shared files, which ultimately creates duplicate repos (one for each project using them), but I’ve managed this easily in the past because some git client tools like https://www.git-tower.com take care of uploading/downloading the submodules automagically for you.
I’ve done this successfully with .NET and Xojo projects in the past. The nested repos are just folders of files within the Xojo project, so the Xojo IDE doesn’t mind. But in order for the second Xojo project to see the changes, git commits & fetches are required - and potentially a reloading of the IDE.
I have since changed back to using External Items. Which are not a perfect solution, but it is less time consuming.
Maybe git client tools are smarter these days, so maybe it’s worth trying again…?