Base.@kwdef is not exported nor documented and can simply disappear between Julia version, use Parameters.jl or a similar package instead.
I do not believe there is a programmatic way to get which fields have default values. I do believe Base.@kwdef simply creates the an adequate constructor function, so this information is not stored anywhere.