I was going to say Mike that it's not a contact mutation (the word Sir doesn't trigger the mutation, it's simply that when the two words Sir and (for example) Penfro are used together to mean a single idea, then you get SM joining them...in much the same sort of way as stepmother is llysfam = llys + mam.
But I've been thinking a bit more about this overnight (I'm that sad), and it suddenly occurred to me that we always say Sir Gwynedd and not 'Sir Wynedd' - so now I am wondering if there really is a hard-and-fast rule for this...
Certainly 'Sir Penfro' sounds wrong to me, and Sir Benfro totally right. And I don't believe anyone would say 'Sir Câr' instead of Sir Gâr. But then 'Sir Wynedd' on the other hand sounds totally wrong as well. Also, with a different word, everyone would say Ynys Môn and nobody (I'm pretty certain) would say 'Ynys Fôn'.
And it's not about gender: sir and ynys both feminine, but definitely Sir Fôn and Ynys Môn.