This is happening because after step 3 the auto-save functionality stores the project (with your code changes) in local storage against the original project identifier. When the project is saved, the remixed version is created in the database, but the cached version is left in local storage. When you re-visit the original project URL, the project cached in local storage is loaded, because the URL path matches the local storage key, i.e. the original project identifier.
Steps to reproduce:
https://github.com/RaspberryPiFoundation/editor-ui/assets/3169/824e4558-3457-4137-9988-10b6c2eeb7b6
This is happening because after step 3 the auto-save functionality stores the project (with your code changes) in local storage against the original project identifier. When the project is saved, the remixed version is created in the database, but the cached version is left in local storage. When you re-visit the original project URL, the project cached in local storage is loaded, because the URL path matches the local storage key, i.e. the original project identifier.