Hi
PULLUP macht im Hintergrund nichts Anderes, als 'digitalWrite(x,HIGH);' - um den PullUP einzuschalten.
PinMode brauchst Du ja trotzdem, da Du so zwischen IN und OUT unterscheidest.
Und bei OUT setzt digitalWrite den OUTPUT auf HIGH (1) oder LOW (0).
In den Innereien des AVR ist dieses Bit sowohl für den PullUP-Widerstand, wie für den Ausgangstreiber zuständig und die unterschiedliche Funktion kommt nur zustande, weil der Pin 1x ein IN und 1x ein OUT ist.
Also statt erst auf INPUT setzen und dann digitalWrite auf HIGH kannst Du auch INPUT_PULLUP benutzen - unterm Rock sollte sich identischer Code ergeben (sofern die Befehle direkt aneinander stehen, kA, wie weitsichtig der Kompiler ist).
MfG