I've pulled devel and re-tested: The bug is still occuring, and I've found another smaller one.
Here's how to reproduce that first bug (in 3 steps)
1- In a new Leo file, create an @clean test.txt with some body text and save. (
The resulting .leo file contains mod_time UAs)
2-
Close Leo, edit the test.txt file manually, and Re-Open Leo... Observe that your external file changes were picked up. (
all OK so far)
3- Save the leo file
without editing (important!) to trigger the bug -> The resulting .leo has
no mod_time UA.
(But if you edited even slightly the leo file before saving, the UAs will be written normally)
Here's how to reproduce the other bug:
(same step 1 as first example above) instead of closing leo completely at
step 2, if you instead just close the tab (and thus keeping Leo opened by having more than one tab opened with some other .leo file)
...and then complete the rest of the actions for step 2: edit the external file 'test.txt' and re-open that .leo file's tab ...
(at the end of step 2, before step 3) -> Upon opening that tab for this .leo file, Leo will ask you if you want to reload that @clean from disk (as if it was a 'live' file change when Leo is already opened) screenshot:

Note that you can see underneath that dialog that the @clean body
was already refreshed with the new external file content. and that responding yes or no does not do any difference. (the new content is used)
(From what I remember of using @clean nodes for many years, I think it should just reload the new @clean file content without asking, just like when opening it along with leo itself)
I'll easily show you those 2 bugs explicitly by sharing my screen in a zoom if those two descriptions on how to reproduce them are not clear. :)
Félix