I agree with Maarten about what the real question is. It would be easier to answer if one didn't have to guess what leads you to think it should return something different.
Do the results while replacing the Optionals by their first arguments confuse you? What about also removing the labels, and using MatchQ?
MatchQ[1, _]
MatchQ[1, 1]
MatchQ[2, 1]
True
True
False
However, Optional's second argument not mattering for pattern matching is it's not as general as what Marteen said. Take
MatchQ[{}, {_}]
MatchQ[{}, {_:9}]
False
True