this is not a Scintilla thing. It's again tag manager (or more precisely symbols.c) which injects all type names from tag manager into Scintilla as a list of fake keywords.
Well, thats because its the only way of setting names to be styled in Lexilla lexers, to give the same name a different style in different scopes would need to drop the Lexilla lexer or have a way of the lexer allowing overwriting by semantic styling and not keep undoing it.