...with the addition that its not perfectly applied within North America either - e.g. Quail-Dove, Storm-Petrel, Foliage-gleaner
The hyphen is there in Quail-Dove because of a different rule which states that birds named after other birds must have a hyphen in their names. This seems fairly universal; the IOC follows this rule, while it doesn't follow the AOS's monophyletic group hyphen rule.
The hyphen is there in Foliage-gleaner to make the pronunciation clear; "Foliagegleaner" looks too much like it has a "geg" syllable somewhere in the middle. Note that "gleaner" isn't capitalized because there's no such bird as a "gleaner" per se.
The hyphen in Storm-Petrel is an interesting one. As far as I can tell, the hyphen was added by the AOS in the 1970s to indicate that storm petrels are a monophyletic group (which they were believed to be at the time.) We now know that there are two different families of storm petrels, which don't form a monophyletic group. And yet, the AOS has retained the hyphen? Why? Apparently because at some point in the intervening decades, the hyphen has convinced at least some American birders that it's there not because storm petrels are a monophyletic group, but because storm petrels aren't actually petrels! The IOC of course correctly omits the hyphen from "Storm Petrel".
Clearly, the poor hyphen is being put to too many distinct uses by the AOS, and it's high time the monophyletic group hyphen rule was abandoned. Hopefully the WGAC alignment will lead to this.