I tend to agree that 'pad' implies adding zero or more elements but does not remove any. In fact Gauche has implemented so, but a user pointed out ".. so that the length of the result is _length_" text, then I found that the string-pad does truncate.
If both of the authors like to make it an error when _length_ is shorter than the bitvector, it's ok as well, though inconsistencies between SRFIs may confuse newcomers. The SRFI text should be clarified either way, though.
BTW, the current reference implementation returns _bvec_ as is when _length_ is the same as the length of _bvec_, but it contradicts the SRFI text "Returns a copy of _bvec_ ...". As bitvectors are mutable, this makes a difference.