This is one reason I would prefer to work on a CPU where all misaligned access faulted. Less room for ambiguity if your thing faults all the time.
(Although, I'd argue that altering the low bits of a pointer as metadata is kind of asking for this type of bug. The only place where I would not frown on this in a code review is where hardware interfaces require it. x86 page tables come to mind.)