Actually I'm sure the opposite the scripts/install.sh is executed when all data is unpacked. The issue here might be that the script can not rename its parent's directory. I did not test it though.
I don't know why the issue exists at all. If the source file can not be named the same as the plugin ID, you might think of using 2 plugins instead of one in this case:
1. the plugin installer
2. the actual plugin
The plugin installer (named as something like phpver_plugin_installer) might consist of scripts/install.sh and other required files. An admin will install this plugin installer in Web-UI of Directadmin. At the moment of the installation the scripts/install.sh will run git pull/checkout to get the latest version of the actual plugin and install the things into /usr/local/directadmin/plugins/php_version_list_extended/ folder.
Then at the first run the plugin php_version_list_extended removes data of the plugin installer.
This is a raw idea, never tested by me. Probably too complicated, but still might have a chance to exist.