Am slightly confused by your usage.
Using Sumatra portable from elsewhere (e.g. portableapps version) may cause problems. ONLY use the ones from https://www.sumatrapdfreader.org/download-free-pdf-viewer.html NO OTHER, they may mess with the defaults, and behave as you describe.
Portable should not normally be in “program files” since that is a more restrictive area
Most users would either be using a portableapps directory on a usb drive or a dedicated c:\portableapps or similar folder (avoid using dropbox / google drive or similar)
The dedicated portable versions expect to be in a read/write directory without the need to run as admin, and in that case they use their own directory for data including crash folder and cache. Then there is no need to specify -appdata.
The use of %variable% depends how your system is configured so -appdata can be different for portable use on different drives or say you need one startup to be different to another, but remember two settings = two histories.
The simplest way to control portable settings is use a cmd file to detect running drive and self adjust the appdata settings if needed. however Altap Salamander seems to accept enviroment settings. So you should be able to use one during start up if necessary. I had no problem using a portable altap on one drive with a portable from this site on another using fixed locations but did not try relative variables as I just wanted to check for the default settings file in the exe dir.
Just to check env vars work I set pdf F3 action to work with an old one I use $[MOZ_PLUGIN_PATH]
and got the expected older version which then saved its settings in its own folder no hint of any appdata at all