Sachverhalt:
A.
Für diverse Entscheidgebühren erteilte das Kreisgericht Rheintal dem Kanton St. Gallen in der gegen die A._ AG eingeleiteten Betreibung Nr. xxx des Betreibungsamtes Am Alten Rhein definitive Rechtsöffnung.
B.
Im Rahmen des Fortsetzungsverfahrens versandte das Betreibungsamt am 14. April 2021 per 19. April 2021 die Pfändungsankündigung. Sodann forderte das Betreibungsamt am 21. April 2021 zur Vorsprache bis zum 26. April 2021 auf.
Die Schuldnerin reagierte darauf mit einer Beschwerde, welche das Kreisgericht Rheintal als untere Aufsichtsbehörde mit Entscheid vom 12. August 2021 abwies. Der Entscheid wurde der Schuldnerin am 14. August 2021 ins Postfach avisiert.
Auf die am 2. September 2021 eingereichte Beschwerde trat das Kantonsgericht St. Gallen als obere Aufsichtsbehörde mit Entscheid vom 3. November 2021 zufolge Verspätung nicht ein.
C.
Dagegen hat die A._ AG am 26. November 2021 beim Bundesgericht eine Beschwerde eingereicht. Ferner beantragt sie die aufschiebende Wirkung.
Erwägungen:
1.
Die Beschwerde in Zivilsachen steht offen (Art. 72 Abs. 2 lit. a, Art. 75 Abs. 1 und Art. 90 BGG).
2.
Das Kantonsgericht hat erwogen, der Entscheid der unteren Aufsichtsbehörde sei der Beschwerdeführerin am 14. August 2021 ins Postfach avisiert und folglich gemäss Zustellfiktion am 21. August 2021 zugestellt worden. Damit sei die zehntägige Beschwerdefrist am 31. August 2021 abgelaufen und die erst am 2. September 2021 der Post übergebene Beschwerde verspätet.
3.
Die Beschwerdeführerin macht geltend, das Kantonsgericht habe übersehen, dass der 21. August 2021 ein Samstag gewesen sei und sich deshalb die Abholfrist bei der Post auf den Montag verlängert habe; die Beschwerdeeinreichung am 2. September 2021 sei deshalb rechtzeitig erfolgt.
Der Beschwerdeführer vermengt die Abholfrist offensichtlich mit der Beschwerdefrist: Wenn der letzte Tag einer Rechtsmittelfrist auf einen Samstag, Sonntag oder Feiertag fällt, verlängert sie sich auf den nächsten Werktag (Art. 31 SchKG i.V.m. Art. 142 Abs. 3 ZPO). Hingegen fällt die postalische Abholfrist nicht unter diese Norm, weil Art. 138 Abs. 3 lit. a ZPO abschliessend statuiert, dass eine nicht abgeholte eingeschriebene Sendung, mit welcher der Adressat rechnen musste, am siebten Tag nach dem erfolglosen Zustellversuch als zugestellt gilt. Diese Fiktion ist kein Fristablauf, sondern ein fristauslösendes Ereignis, indem am Folgetag der tatsächlichen oder eben der fingierten Zustellung die Beschwerdefrist zu laufen beginnt (Art. 31 SchKG i.V.m. Art. 142 Abs. 1 ZPO). Die Fristauslösung kann m.a.W. auch an einem Samstag, Sonntag oder Feiertag erfolgen (BGE 104 IV 47 E. 4a; 127 I 31 E. 2b; Urteile 1C_85/2010 vom 4. Juni 2010 E. 1.4.2; 5A_355/2013 vom 8. Juli 2013 E. 2.1; 8C_223/2016 vom 13. September 2016 E. 2.4.2; 9C_386/2019 vom 1. Juli 2019; FREI, in: Berner Kommentar, 1. Aufl. 2012, N. 7 zu Art. 142 ZPO; BENN, in: Basler Kommentar, 3. Aufl. 2017, N. 12 zu Art. 142 ZPO; MERZ, in: Schweizerische Zivilprozessordnung, 2. Aufl. 2016, N. 19 zu Art. 142 ZPO; sodann für die analoge Regelung in Art. 44 Abs. 2 BGG: AMSTUTZ/ARNOLD, Basler Kommentar,3. Aufl. 2018, N. 34 zu Art. 44 BGG).
Für den vorliegenden Fall bedeutet dies, dass die Sendung am Samstag, 14. August 2021, ins Postfach avisiert wurde, die siebentägige Abholfrist am Sonntag, 15. August 2021 zu laufen begann, die Zustellfiktion am Samstag, 21. August 2021, eintrat, die zehntägige Beschwerdefrist am Sonntag, 22. August 2021, zu laufen begann und am Dienstag, 31. August 2021, endete. Das Kantonsgericht ist folglich zu Recht auf die erst am 2. September 2021 eingereichte Beschwerde nicht eingetreten und die hiergegen beim Bundesgericht erhobene Beschwerde ist abzuweisen.
4.
Mit dem sofortigen Entscheid in der Sache wird das Gesuch um aufschiebende Wirkung gegenstandslos.
5.
Die Gerichtskosten sind der Beschwerdeführerin aufzuerlegen (Art. 66 Abs. 1 BGG).
Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird abgewiesen.
2.
Die Gerichtskosten von Fr. 1'000.-- werden der Beschwerdeführerin auferlegt.
3.
Dieses Urteil wird der Beschwerdeführerin, dem Betreibungsamt Am Alten Rhein und dem Kantonsgericht St. Gallen, kantonale Aufsichtsbehörde für Schuldbetreibung und Konkurs, schriftlich mitgeteilt.
Lausanne, 2. Dezember 2021
Im Namen der II. zivilrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Das präsidierende Mitglied: Escher
Der Gerichtsschreiber: Möckli