Why would ssl.conf certificate settings override the certificate settings in a specific virtual host config file?
The concept is inheritance. Picture all the #include'ed .conf files flattened at the global scope, unless you actually do an include within a specific <scope>.
Basically, what you set outside of all the specific <virtualhost > blocks applies globally to all hosts, unless you override them. There are quirky cases like rewrite and some of ssl which don't auto-inherit the globals, but for the most part, what gets set outside of <blocks > apply to all situations that aren't explicitly overridden.