Best way to do character stats?

Structs with data tables and curves are certainly going to be useful. Check out episode 8 + 9 of the UE game-ready AI stream for a process of implementing a basis of that sort of system.

Defaults and references stored in a struct’s DT, with the current values stored and modified on the character. They shouldn’t need to be in a separate actor BP, but if they were to be in a component you could drop the logic onto things other than the player char.