You also don't say 'a Japanese' but that is an extremely common error with Japanese English speakers when they are first learning.
I am looking for a citation, but I seem to recall the casual rule of thumb is something to do with the ending of the nationality (so '-ish', '-ese','-ch' etc. you can't put 'a' in front). I think the more formal explanation likely centers around rules relating to indefinite articles.
You mean a native speaker might be ungrammatical when using their non-native language? That makes sense to me.
> Spain has 'Spaniard'.
Even so, you'll hear a ton of native Spanish people saying "As a Spanish person" or "As person from Spain" instead of simply "As a Spaniard", I'm not sure this is very surprising. If anything, that mistake makes it more likely they're a native than not, in the case of Spain, as the level of English outside of metropolitan areas is lacking at best, compared to other European countries.
I would think that if you say you are French, then everyone know you aren't native anyway. Maybe it's actually a good way, it can distinguish between true natives and false natives
Demonyms for historical neighbours of England have irregular forms when speaking of a particular person from there. Scotland has 'Scot' and 'Scotsman'; Wales has 'Welshman'; Spain has 'Spaniard'. Other countries indeed need a second word, such as 'person' or 'citizen' ('a Chinese' sounds offensive to me; I would say 'a Chinese person' in all cases). The only country I can think of where using a bare demonym is grammatical when speaking of a single person from there is Germany with 'a German' - probably because it has the suffix -man.
Edit: A sibling comment pointed out that 'an American' is grammatical, and thinking about it, I think the suffix -an is what makes bare demonyms grammatical - you can say 'an Angolan', 'a Laotian', 'a Peruvian', 'a Moroccan', etc, but wouldn't say 'a Thai', 'a Swedish', 'a Sudanese', etc.