It was incorrect but I bet no German thought he meant jelly doughnut.
It is like saying I am a American vs. I am American. You would not say I am a American.
If a German said I am a American how many Americans would think that they German meant anything other than they meant to say I am an American or I am American.
Point #B on this is ( I know some of you liked him (But Monkey) but..) would any of you accept GWB or WJC(Clinton) saying I am a German or Parisian or Roman or Bagdadi? I would think it would be a bit treasonous to claim you are anything but American...EVER!
But most people just play it off as him mispeaking.
I understand it a little differently. Many cities in Germany have a specialty food, unique to the city. The food is given the name of the city. Like hamburger is the specialty food of Hamburg (and it is not ground beef, its scrambled eggs with tomatoes, and brain soup). The food is identified with the "ein", while residency is identified with the absence of a qualifier. Thus "ein Berliner" is a jelly doughnut, while "Berliner" is a resident.
Durn good thing JFK wasn't in Hamburg or Franfurt. Or Wien.
Yes, you would not say "I am a American," but hopefully because, being a native speaker of the English language, you would know that English grammar requires "an" in front of a noun that begins with a vowel. Many people might very well say "I am an American," on the other hand...