Well, I suppose it’s sort of a “Who’s your audience?” thing.
To a Japanese guy, I’d say “Hi, I’m an American”.
To a Southern American, “I’d say ‘Hi, I’m a Yankee’” (and they’d just have to deal with it :D)
A Northeasterner would be told I was from New York City.
A fellow city dweller would be told I lived in da Bronx.
And finally, to a fellow Bronxite, I’d say I lived in Woodlawn (or “near Riverdale” if I was showing off).
And like people have said, it’s just shorthand here–when somebody says “I met the cutest guy, he’s this Italian from Yonkers” we understand enough so that she doesn’t have to say “I met the cutest guy, he is of Italian ancestry and has an Italian name but he is an American citizen and not one of the Most Serene Republic of Italy”. And it’s also considered polite and interesting to chat about ancestry here, because it’s all so different and most American stories are successful, relatively happy ones. My grandmother was in immigrant, a Gaelic-speaking farm girl from Nova Scotia, and worked as a maid in several American cities, eventually working her way up to the high rank of Cook, never being able to finish high school, and yet all of her kids went to college. So when somebody asks me about her, it’s a way of honoring her and my parents’ generation when I tell her story.
Also, as was mentioned before with ethnicities that also correspond with a non-white appearance, some people were not allowed to forget their ancestry, being informally forced into ghettos or remote rural areas where they kept their own languages and customs by default because the mainstream society wouldn’t let them in. This would even happen with white Southern Mediterranean folks like Greeks, Italians, Albanians, etc.