Instead of basing the decision on the contents of a list that does not get populated for kickstart installs, reset kickstarted flag in the signal handlers for the environment and addon listboxes. Besides fixing the problem of kickstart %packages always being treated as interactive, this will catch potential changes to --optional or --nodefaults triggered by GUI interactions.
Thanks to clumens for both finding the underlying problem and coming up with the idea to fix it.