Yes global -xa gives me the correct .cpp file and all functions with the name I'm looking for, including the exact function I want. By the way, I can only query global for a function's short name, not the full class::function name, which would be more convenient.
Now semanticdb-find-test-translate-path gives me semanticdb-table-global entries for some .cpp files, for some others it doesn't, I don't know why. For the particular .cpp file where my function is, it does give me #<semanticdb-table-global GNU Global Search Table (proxy)>.
With my particular .cpp file opened and parsed, semantic still says it cannot find the implementation from the header.