This is really annoying. every time openwrt make a new release which installed via sysupgrade, the additional packages that were installed are lost i.e. using filezilla sftp connection gets broken after every upgrade.
Why can't the upgrade process takes a list of the additional packages and re-install linux standard linux distributions.
The ASU method basically uses the online image builder to create a custom image for you based on what is already installed on your device -- it will then download the custom image and run the sysupgrade process (preserving settings), with the aim of making it basically transparent.
If you use the image builder (online or on your local machine), you can do the same thing... bake your own custom image with all of your packages.
Alternatively, you can simply install packages after you perform the upgrade using the diff method described, or by simply keeping track of what you're installing.
In my personal case, I use extroot and the cleanest way for me to upgrade is to: 1) backup, 2) upgrade without keeping settings, 3) install the extroot packages and pivot to the extroot storage, 4) reinstall packages, 5) restore backup. I have this mostly automated via a few simple scripts.