Prepare to delete AlignedCharArrayUnion by migrating its users over to
std::aligned_union_t.
I will delete AlignedCharArrayUnion and its tests in a follow-up
commit so that it's easier to revert in isolation in case some
downstream wants to keep using it.