See the attached unalignedRightFill.tdml file for reproducible tests.
Data is a single byte. Only the most significant bit is actual data. The remaining 7 bits are RightFill region using a fillByte value of 0xF0. So the data should always unparse to X111 0000, where the value of X comes from the infoset.
Note that runtime1 and runtime2 have different behaviors, neither of which I think is correct:
unalignedRightFill_01 (bit from infoset is 1)
should unparse to 0xF0 (1111 0000)
runtime1 unparses to 0xBF (1011 1111)
runtime2 unparses to 0x9F (1001 1111)
unalignedRightFill_02 (bit from infoset is 0)
should unparse to 0x70 (0111 0000)
runtime1 unaprses to 0x3F (0011 1111)
runtime2 unparses to 0x1F (0001 1111)