Options for 'git foo' should be documented in 'git help foo', but this is often not the case. Instead push.default is only documented in 'git help config', so basically you will not find about it unless you know it exists.
If options were documented properly, there would probably be less complains about default behaviors.