Placing the component in the parent is inheritance. We’re actually saying the same thing . Inheritance has nothing to do with communication between blueprints.
I think when you say inheritance, you mean casting and abstract classes I guess, and I misunderstood.
Moving from casting to interface is very easy, and I prefer to leave it for when the game is already in the polishing phase or because they are too lazy for the cast to especially the things of the gamemode and gamestate
But yes, of course, it is still a personal choice.