References do not work because mods do not load their code in an entirety in order of mod-enabling. They load their action components entirely on the settings of <LoadOrder> within the actions for all mods currently enabled. Without a <LoadOrder> setting established for an action, it is default set as "0". But mods and their component actions do not load in the same order when starting a new game as when loading a saved game.
When multiple mods are all using no <LoadOrder> setting or are using an equivalent load order setting for all or some of their actions, then the order the actions load becomes dependant on enabling order and alphabetic order of the action ID "names" depending on whether a set-up of a new game or a load of a saved game is underway.
Dependancies do not force a load order of components either. I have a mod which is listed as a dependancy for several other mods I have made. The mod that the others are all dependant upon loads some of its code before the others and some of its code after the other mods have all loaded their code. This is controlled by the set-up of the <LoadOrder> settings in all the actions of these mods.
There has been some improvement on the part of Firaxis in these seemingly-random loading order issues since Civ6 was first released, but the only way to ensure proper loading order of a mod's component actions vis-a-vis any other mod is by establishment of <LoadOrder> in the <Properties> of each action.