Isn't that desired? You want to see what the object looks at at the time of logging. If you need to see it after some additional code has run, you log it again.
So if between two logs it was modified, it reflects the new status on the log before as well.
I think you may have been confused and got how it is, vs how it ought to be the wrong way round.
https://twitter.com/justinvincent/status/1714866433426067573
Yes. That's why you need to use structuredClone. If you don't, and you mutate the object, then you'll see the new values when you expand the object.