Optimization is basically just "saving the answer" of the calculation where possible vs. calculating at runtime.
If you're adding new rows, your calculated fields are being materialized based on other values in each of your (new) rows. It almost sounds like you think the tool tries to "find" old answers in older rows rather than just re-calculate....it doesn't...it just re-calculates.
Did I understand your question correctly?
I think that's the answer that I was hoping for.
What I wasn't understanding is if the actual formulas used in the calculated fields go away when an extract is optimized. It sounds like the calculated fields will apply to new rows that are added in future refreshes.
Your expressions are safe and sound - you might want to change them post-optimization, after all. We just do some fancy mapping from your "calculated field name" to the materialized result of the calc.