You have multiple questions, I can only say something about the one in the title. As per Grundgesetz Artikel 116
Deutscher im Sinne dieses Grundgesetzes ist vorbehaltlich
anderweitiger gesetzlicher Regelung, wer die deutsche
Staatsangehörigkeit besitzt
i.e. for the purposes of the Grundgesetz (the German constitution, basically), you are German if you have citizenship.
Citizenship is determined via the Staatsangehörigkeitsgesetz. You can become a citizen by birth if at least one of your parents is German, by marriage or by applying for it. Extra laws and restrictions apply, but they are not based on ethnicity (e.g. residency, you must not be a felon by German law and similar).
There is one special provision that refers to "Volkszugehörigkeit", which at the time would have been broadly equivalent to ethnicity. Volkszugehörigkeit as defined by the "Bundesvertriebenengesetz" (which contains provisions for German refugees after WW2) is
(1) Deutscher Volkszugehöriger im Sinne dieses Gesetzes ist, wer sich
in seiner Heimat zum deutschen Volkstum bekannt hat, sofern dieses
Bekenntnis durch bestimmte Merkmale wie Abstammung, Sprache,
Erziehung, Kultur bestätigt wird.
Very broadly:
A German "Volkszugehöriger" by the provisions of the law is anybody
who in his homeland has declared affiliation with the German
"Volkstum", if this affiliation is confirmed by certain attributes
such as ancestry, language, education or culture.
While this does not mention ethnicity is pretty much says that you are one of the people if you affiliate with the people, but only if you are born of the people, which was certainly designed to be applicable to a certain idea of ethnicity (Germany wanted to take it the German minorities from the former eastern territories, but not any actual Poles etc).
This has very little relevance of today, and had never relevance to people outside this narrowly defined group. So no, the German Grundgesetz is not based on ethnicity, and actually in its paragraph 3 prohibits discrimination based on "Abstammung" (ancestry) and "race" (the latter caused a bit of controversy, because "race" is not actually a well defined or common concept in German law, at least after 1945).