wt_rec_col_var contains a call to wt_dsk_cell_data_ref_kv. This call is present because the key and value could have been Huffman encoded (before that feature was removed).
But we also need to unpack the key and value for overflow items, and this is done with another call to wt_dsk_cell_data_ref further down. The case statement is a slightly bizarre interleaving here. We effectively have:
case OVFL_USED: wt_dsk_cell_data_ref(..., orig); // fallthrough case OVFL_IGNORE: // Original may not have been an overflow item! data = orig->data; ...
So in the second case, we may not have an overflow item but we still assume the value has been unpacked. This logic needs a rethink - we shouldn't just unpack the value since it may not be necessary. But if it's an overflow item that we read into memory, we need to use the unpacked value.