Hello,
having the problem myself I investigated this issue myself a bit and found this in build/lib/functions/configuration/main-config.sh:
# Obsolete stuff, make sure not defined, then make readonly
declare -g -r DEBOOTSTRAP_LIST
declare -g -r PACKAGE_LIST
declare -g -r PACKAGE_LIST_BOARD
declare -g -r PACKAGE_LIST_ADDITIONAL
declare -g -r PACKAGE_LIST_EXTERNAL
declare -g -r PACKAGE_LIST_DESKTOP
The only fix that does not involve some sort of "hack" would be installing the packages via a custom script and adding it to the build process in build/userpatches
Did you add the repos and then a apt update before doing a apt install <packages>
When I tried this it worked for me.
If you don't want to do this you can also just set the value of this variable when you call the script like you did, but this can become quite a hassle if you do this multiple times and you need like 30 additional packages
./compile <optional custom config file> PACKAGE_LIST_ADDITIONAL="some packages"
PACKAGE_LIST_BOARD also works because at the end all these variables are being added anyway, but this variable is normally used to set the packages for a specific board type in build/config/boards.
Configuring the packages there will probably also not work, because this variable is like the other ones set to read only.
There is also no mention of that in the documentation and it still shows examples for this feature: https://docs.armbian.com/Developer-Guide_User-Configurations/#user-provided-configuration