So I spent forever trying to figure this out so hopefully this solves the problem for those of you in the same situation.
So we use the BiomeLoadingEvent to catch when biomes are loading and add our ConfiguredFeature. Ore Generation like so:
public class WorldGen {
public static final ConfiguredFeature<?, ?> yourOre = Feature.ORE.withConfiguration(
new OreFeatureConfig(OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD, YourRegistryHandler.YOUR_ORE.get().getDefaultState(), 4)) //vein size
.range(12).square() //maximum y level where ore can spawn