One workaround I have found is to create a silent Wave object directy as follows:
sr = 22050
silence_length <- 1.5
silent_samples <- rep(0, sr * silence_length)
padding <- tuneR::Wave(left = silent_samples, bit = 16, samp.rate = sr)
But the original question remains about whether tuneR::silence() with bit=16 should work.