When writing a row, we reserve 120 bytes from the first node so that we can write our 'B+Tree Graph Index' signature and other meta-information. For the root node, we don't always use the 120 bytes, and for non-root rows, we don't use that data at all. So we usually pad back that record. However, for indexes that fit entirely in the root record, we don't pad them to 4096, and it turns out we don't need to pad them with the spare 120 bytes either.
I was doing a test with lots of 'chained' btree indexes, and this extra padding ended up being 4.6M => 4.3M of wasted space. I imagine that bzr-search will have a similar issue with tiny indexes.