Sorry for the delay, I was busy over the weekend and then wanted to make sure I actually got things working before I updated things. I will post my solution below, It does require some minor C++ work, so I don’t know if there is an answer that can be pure blueprints.
Step 1: Make your base class in C++
Note: Make sure the UCLASS has tags Blueprintable and BlueprintType if you are deriving from UObject or another class that does not have those (Actor and all it children already do).
Make sure the UPROPERTY of the variables has EditDefaultsOnly tags
Step 2: Make children blueprints of your base class and set there default values
Step 3: Add the variable that is the base type and is a class reference, then set that variable
Note: You should make sure that it is set to at least the base class even if it is being changed elsewhere.
Set 4: Use Get Class Defaults to reference the defaults wherever you need it
Hope this helps others. If you have any questions let me know. As I mentioned at the top, I didn’t find a solution where the base class could be a blueprint. That is fine for me, but if anyone knows what is needed to do that and wants to add it for others that would be great.