You could put your <<replace>> code in the PassageDone special passage for this to work, however, this would mean the original (pre-replace) version of the passage never gets seen. Normally, if you want both the old and new version visible at some point, you’ll use some trigger for the replace macro, like a link. So, if you give a specific example of how the passage is supposed to function, someone may be able to offer a better solution.
(edit: re-reading your example more carefully, I see from the passage names you want to keep the replaced text updated according to the other included passage upon each rendering of yet another passage. In which case, using PassageDone should do the job – although if “aPassageThatMayChangeTestText” just sets a variable to be displayed in “testText”, and does not include any text to display on its own, you could just as well include it first, before including “testText”).
(edit: <<timed>> is likely not what you’re looking for, but I’ll leave it here in case anyone finds it useful
If you want the text to change after some time, you could use the <<timed>>macro:
The contents enclosed within the <<done>> macro will be executed after everything else has loaded similar to the way the PassageDone special passage works except it only gets called specifically where the <<done>> macro is used and not after every passage is rendered.