Using citric acid is very expensive. If the water source contains oxygen, has been exposed to oxidizers, or ferric based coagulants have been used, the iron will be in the ferric state and can typically be controlled by dosing sulfuric acid to reduce the pH to ~6 and dosing antiscalant.

If the water does not contain any dissolved oxygen, most of the iron will be in the Ferrous state.  Ferrous ions are extremely soluble and easily controlled by most antiscalants without acid.
However, in many cases, some soluble oxygen will be present. It only takes 0.1 ppm dissolved oxygen to oxidize 0.7 ppm of ferrous ions to the ferric state.
$${Fe{^2}{^+} + \frac{1}{4}O_2 + H^+ == Fe{^3}{^+} + \frac{1}{2} H_2O}$$
When the water source is from a deep aquifer, we assume anaerobic conditions where all iron will be in the ferrous state (as long as the water goes directly to the RO with no holding tanks and no dosing of chlorine or other oxidizers).  When the water source is from a surficial aquifer, oxygen will be present and iron can be assumed to be in the ferric state.

Ferric iron can be controlled to a certain extent using antiscalant without pH reduction, but the antiscalant demand becomes significant; antiscalants have a higher affinity to trivalent metal hydroxides than other surfaces.  They will therefore preferentially adsorb to colloidal ferric hydroxide while allowing calcium carbonate and other sparingly soluble salts to precipitate and form scale on the membrane surface.

Some smaller plants use greensand filters for iron control and they are very effective;  iron concentrations are typically reduced to below 0.1 ppm. But they are a significant capital expense, require a large footprint, and they do require maintenance to operate efficiently.