The first 2 don't work because the Condition on the rhs is interpreted as a condition.
The third one doesn't work because HoldPattern doesn't prevent the interpretation of Condition, merely evaluations.
The last one doesn't work because Verbatim means literally. So this also stops Blank from matching anything but a literal Blank.
The following also works:
In:= MatchQ[Hold[b /; c], Hold[_Condition]]