Good question. I think this is a non-bug for the package-list menu. Launching the menu indeed refreshes the package list every time, respecting the most recent package-archive values.
It was more that running package-upgrade after adding a package-archive didn't refresh the list, not knowing that key values had changed, invalidating the package cache. From now on, I'll combine changes with either launching the menu or running package-refresh-contents manually. This will likely never happen again, now that my configuration is where I want it to be.
Please close.