Hinter der Entscheidung, ob man eine Variable in eine Klasse steckt oder nicht, und wenn ja, in welche, sollte eine Designüberlegung stehen, nicht Ausprobieren.
Globale Variablen (Definition außerhalb der Klasse) sollten jedenfalls zu Linkerfehlern führen. Man definiert keine Variablen oder Funktionen (außer inline und Templates) in Headerdateien. Außerdem sind globale Variablen grundsätzlich nicht schön, weil keine Möglichkeit der Zugriffskontrolle besteht.
Eine Definition, ggf. mit Initialisierung, wird benötigt.
Dem Compiler ist das völlig egal, weil der jede Übersetzungseinheit für sich allein betrachtet. Der Linker beschwert sich, weil er mehrere Definitionen der Variablen findet.
Zur Laufzeit ist das alles bereits erledigt. Globale Variablen haben immer automatisch externe Verlinkung. Das ändert nichts daran, dass eine Deklaration vorhanden sein muss, wenn man aus einer anderen Übersetzungseinheit darauf zugreifen will.
Das Schlüsselwort extern erzeugt die oben beschriebene Deklaration, nichts weiter. "Super-Global" gibt's nicht.
Ganz ehrlich, man sieht deiner Erklärung an, dass da kein solides Grundwissen dahintersteckt, und du dir das selbst zusammengebastelt hast.
Deine Hilfsbereitschaft in allen Ehren, aber wenn du Halbwissen über fragwürdige Implementierungstechniken mit falsch verwendeten Begriffen und falschen Erklärungen an Anfänger weitergibst, finde ich das nicht so gut.