I understand that applying if-constexpr to conditional data member layout is different because a regular if cannot appear at class scope. But reading the static if papers and their critiques, the supplied alternative to the OP's example using partial specializations, tuple and empty base class trickery do not really provide a superior alternative. Optimal class layout is currently cumbersome, using if-constexpr would make this a lot easier for users.
What exactly would be making it hard (compared to if-constexpr at function scope) for the compiler to do the conditional data layout using if-constexpr?