This one took a while to track down...
Version: 0.15.1
Numpy: 2.2.6
Python 3.12.11
Also tested on 0.16.1 with the same results.
Note that on a different machine with a different OS, I can't reproduce the bug.
import numpy as np
from numcodecs.bitround import BitRound
codec = BitRound(keepbits=np.int32(10))
a = np.array([0.])
codec.decode(codec.encode(a))
yields