I agree w/ most of the statements here about the imprecision, at the very least, of categorizing people by "race". Race is not a science. I can repeat that for anyone who didn't get it the first time.
Having said that, the term "African American" is a reasonably precise one. That would be an American of African Ancestry. Same w/ Italian American, etc.... HTF could a white person from S. Africa be an "African American"?? A black person from there would simply be an African, and a white person would be a "descendant of colonialists". A white person who has lived in Japan for generations, (is there such a person?), would still be no more "Japanese" than a white person in Seattle.
Being that race isn't a science, there are still tribes of people that are called "races" for convenience sake, I guess, and they include the Anglos, (your white friends in S. Africa), a very broad category of Asians which include South Asians such as in India, etc..
I don't have a problem w/ people having an ethnic identity, but racism sucks no matter who is doing it or on the receiving end.