EWG has rejected proposals like
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4172.htm
before due to the (lack of) opt-in question.
I don't see how anything has changed in that regard.

I'm aware of the previously rejected proposals, and have read the minutes on those. I don't think that the past proposals failed solely due to the opt-in question. It was a combination of factors, including not having a working implementation and not dealing with the design questions thoroughly enough.

Historically, we also didn't have designated initializers (which don't require the struct to opt in explicitly), and we didn't have parameter name reflection (which faces the exact same issue of possible inconsistencies between declarations). The rest of the language has changed quite significantly since 2014. IIRC at least 50% of the backlash to N4172 was due to the parameter name inconsistency problem, and that's now addressed (though not really solved) elsewhere.