So it seems like you know what you’re supposed to do already.
You consolidate the common logic into a base class of sorts (ie Vehicle_BASE) that all the other vehicles inherit from (ie Vehicle_Truck, Vehicle_Sedan).
You then cast to that base class and call whatever functions you want (ie StartVehicle) that are declared in that base class.
The StartVehicle could be overwritten in the derived classes (say if you had a push to start car rather than a key or an electric vehicle depending on what you’re doing with the game) or it could stay default.
There is no way to dynamically cast in blueprints. Though you could make a custom switch statement for classes or use the classic if else * 100.