Every type which supports @bitCast has a “logical bit layout”—a representation of that type as an ordered sequence of bits. For instance, u5 is composed of 5 logical bits, which we order from least-significant to most-significant.
EDIT:
Just to add more context, this is a new change (i.e part of 0.17.0), and the whole article is worth looking into and reading.
Isn’t it just because when printing an array, it prints from index 0 upwards, so when bitcasting, the least significant bit is in index 0, and gets printed first?