These questions really belong to the support site.
I suppose, although it seemed like an unexpected issue at first because it's not documented within ?lowlevel-matching so users don't know what to expect.
You'll get that behaviour by allowing indels.
This reveals a discrepancy between the documentation and the way the function operates. In the documentation, the function definition of vmatchPattern has with.indels = FALSE in it. However, changing it to TRUE results in
Error in .XStringSet.vmatchPattern(pattern, subject, max.mismatch, min.mismatch, :
vmatchPattern() does not support indels yet