If the root project and the sub-project are in the same workspace, then the tags are visible between the projects. So if you go to "Tools -> Tag Files..." and look at the "Workspace and Project Tag Files" entry, the same tag files should be there no matter which project is open.
However, another developer pointed out to me that there are some options that can change the search scope to the current project.
Assuming you're using push-tag (ctrl-dot for most bindings), there's a option to restrict it to only show symbols in the current project. If the language was Java, you'd go to "Tools -> Options -> Languages -> Application Languages -> Java -> Context Tagging", and in the "Go to Definition" group, check to see if the "When there are multiple choices" is set to "Only Show Symbols in the Current Project". There is also an option there to prefer symbols in the current project. So if you have a symbol that's shared between two projects, the it will prefer the definitions in your current project.
For searches under the Search menu, there are also options there to restrict searches to the current project. Different from tagging, but something to keep in mind.
A less likely culprit would be that the two sub-projects have source files in different languages that we don't recognize as sharing symbols. (just as an example, Kotlin can see symbols for Java, but wouldn't be able to see symbols in a C++ file, unless the "Tools -> Options -> Editing -> Context Tagging -> "Allow mixed language references" is turned on).