For sure, a union which is used as API surface to a C library which a C++ codebase uses is the most obvious and dangerous footgun here.
The article never even discusses how C++ actually implements unions to begin with, so it's just incomplete. (Only the "active" member is meaningful, the others are considered as meaningless and shouldn't be touched.)