any custom appSettings should go in user.config to reduce maintenance during upgrades because during upgrades you should use the new web.config and transfer any customizations such as machinekey from the old one to the new one.
user.config is never touched during upgrades so there is less to maintain if you keep modifications to <appSettings there. But only <appSettings can go in user.config nothing else from web.config can go there.