After days of searching and bugging a lot of people on the unreal discord, the only advice I found to never, ever change a c++ header in Unreal.
I actually have found that advice to be false, except for with animation instances. You can modify most c++ classes without issue, but Animation blueprints just self destruct if you modify an underlying class.