It explicitly shows that at least Ubuntu clang version 13.0.0-2 with -01 doesn't do anything about the padding bytes (and that's after testing only 2 different compilers). Even if those compilers didn't show any problem, we still couldn't rely on an undefined behavior and assume that no other compilers behave differently.
Yeah, although not a problem in the main current compilers clang, gcc and msvc, it seems that this cannot be changed.
Being an undefined behavior, filling structures with holes, it seems to me that you should always use MemSet or memset. Since even a current structure without holes could be changed in the future and become a bug.