I would always say "I thought I was speaking to a native Chinese speaker" or "I thought I was speaking to someone from China."
I think you are correct. In many countries, "native" means indigenous. As an example, "native Taiwanese", "native American", "native Australian" all do NOT refer to the majority of people who are now living in that country. In certain cases, eg. "native Indonesian", the term "native" would not be used since Indonesia is a vast archipelago with indigenous people, migrants over many centuries, not to mention interacial mixing of the two.
For what it's worth I recommend three approaches for today's world:
My friend is from China
This simply states the person was born in China and is most likely of Chinese descent.
My friend is ethic Chinese or My friend is of Chinese descent
For native English speakers this helps describes the race or ethnicity of the person, without having to go through exactly where they are from. This is helpful, for example, for ethnic Chinese where they could be from mainland China, Hong Kong, Taiwan, Singapore, etc.
My friend is a native Chinese speaker
Makes the most sense if talking specifically about language. Again, native Chinese speakers can be from outside China, and usually are ethnic Chinese (but obviously not exclusively so).