or pad the input sequences to the same length

You mean use pad_packed_sequence on the PackedSquence, then apply the BatchNorm?
Something like this?
# Assuming 'input' is a PackedSquence...
output, _ = lstm(input)
output, _ = pad_packed_sequence(output, batch_first=True)
output = bn(output.permute(0, 2, 1)).permute(0, 2, 1)