For awhile inheritance with dataclasses was fairly broken. They added kw_only in 3.10 which definitely helped. Even outside of dataclasses, python's MRO can be a footgun with multiple inheritance
This video has some good explanations of inheritance behavior in python https://www.youtube.com/watch?v=X1PQ7zzltz4