I think the way it is is fine: if you explicitly set an invalid value for the preference in your application config, you get the default *android* application launchMode.  If you don't set any preference, you get the default *cordova* application launchMode.  That makes sense to me!