Just a couple of quick clarifications and expanded explanations:
None of which are in the Config Guide.
All the configuration options which are used by Juicebox when the gallery is displayed in a browser (i.e. those options which make a difference to the layout and functionality of a gallery) are included in the Config Options page.
JuiceboxBuilder-Pro does write some extra settings to the gallery's 'config.xml' file which are not included in the Config Options page.
These settings mostly refer to image generation and are included so that if the gallery is opened and edited by JuiceboxBuilder-Pro in the future, the same image settings (e.g. dimensions and quality) will be used.
Side Note: config.xml and index.html are really a pair of files to be considered together. JbB changes both files depending on settings selected.
All configuration options (required by both Juicebox and JuiceboxBuilder-Pro) and image data are stored in the gallery's 'config.xml' file.
The 'index.html' file contains just the gallery's embedding code and the SEO Content (if the 'Add SEO Content' checkbox is selected in JuiceboxBuilder-Pro's 'Customize -> Sharing' section).
The SEO Content contains the image paths, titles and captions.
The only configuration options that are stored in the embedding code are the Embed Options, backgroundColor, galleryWidth and galleryHeight.
JuiceboxBuilder-Pro writes values for these options to the 'config.xml' file (again options which are not used by Juicebox when the gallery is displayed) so that the application's interface can be populated with the correct values when the gallery is opened for editing.
(JuiceboxBuilder-Pro reads only the gallery's 'config.xml' file (and not the 'index.html' file) on opening a gallery so all data required to recreate a gallery is stored in the 'config.xml' file.)
Now, there will always be a setting for 'show open button' in your config.xml.
As you correctly mention, default values do not need to be written to the 'config.xml' file.
If a particular configuration option is not present in the 'config.xml' file, then Juicebox will use the option's default value.
If you reset an option to its default value using its own input field (e.g. checkbox or combobox), then the option will remain in the 'config.xml' file (with the correct default value).
However, if you reset an option's value using the 'cross-in-a-circle' icon to the right of the option (in JuiceboxBuilder-Pro's interface), then the option will be removed from the 'config.xml' file.
Essentially, if a value is set by the user (even to a default value), then the option will be present in the 'config.xml' file.
I don't know what performance that might make on slower, low powered devices.
Having all configuration options listed in a 'config.xml' file really won't make any noticeable difference in a real-world scenario and is nothing to worry about.