I don't mind adding a compiler hint but I would prefer it to be one that the compiler might actually recognize. I think it's unlikely that the compiler will ever recognize your suggestion.
Note that it's more or less OK for the standard library to assume behavior that is not guaranteed, because if the behavior changes, the standard library can change at the same time. This is not true for packages outside the standard library.
WaitGroup.state1 is a uint32. It will be 4-byte aligned on all platforms we support.
It's not guaranteed as we don't talk about alignment in the spec. But we align all Go data types to their natural alignment up to a platform-specific maximum alignment, which is at least 4 on all platforms. It is very likely to remain at least 4 because pointers need to be aligned (to avoid shearing pointers).