I looked it up meantime, too, and Oxford agrees that either pronunciation is currently acceptable; "brooch" came into Middle English from French and was based on the French word broche (pronounced BRO-sh), accounting for the long "o" sound in the "broach" version. So the next mystery is where the double "o" came from? LOL!
My guess is that it was an English attempt to reflect their idea of the proper French pronunciation.