Оказывается, единственная работающая WebP энкодер библиотека go-webp не умеет писать в bytes.Buffer через bufio.NewWriter() картинки маленького размера.
То есть, у меня кропы пользовательских аватарок разрешением меньше 200х200 пикселей стабильно получались весом в ноль байт. Это разрешение может немного меняться, в зависимости от картинки.
Однако, происходит это только в Lossy энкодере, Lossless работает нормально. Но кому он нужен, с его гигантскими файлами.
Выход, внезапно, прост и банален: делать надо 1 в 1 как в официальном примере, то бишь, писать все сразу в файл. Тогда картинка получится нормального размера и все будет хорошо.
Почему так происходит разбираться, если честно, лень. Если кто-то докопается до истины, отпишитесь пожалуйста.