Die install skripts werden nicht direkt ausgeführt, sondern gesourced, das kannst du sehen wenn du pacman --debug -S <paket> für ein Paket ausführst, das ein .install-Skript hat. Die entsprechende Funktion wird dann direkt von der shell aufgerufen.
Ich vermute mal dass in älteren pacman-Versionen das Skript direkt mit der aufzurufenden Funktion als Parameter ausgeführt wurde und das noch ein Überbleibsel davon ist, in älteren PKGBUILDS sieht man das häufiger.
Die Funktionen werden mit der Version aufgerufen, also also wenn du beispielsweise ein Paket foo-1.0-1.tar.gz installierst dann wird in der shell
post_install 1.0-1
aufgerufen nachdem das install-Skript gesourced wurde. Bei einem update wird post_upgrade mit der neuen und alten Versionsnummer aufgerufen, also
post_upgrade 1.1-1 1.0-1
der genaue Befehl den pacman aufruft ist
/bin/sh -c '. <INSTALL_DATEI>; <FUNKTION> <NEUE_VERSION> [ALTE_VERSION]'
Die .install Files haben nichts direkt mit dem PKGBUILD zu tun, das PKGBUILD ist ja nur eine Anweisung wie das Paket gebaut wird, die .install-Skripts werden ausschliesslich bei der Installation benutzt.