I’ve successfully used the “Post Expirator” plugin for similar use cases where a client needed a custom workflow for their content that became a specific age (several days after posts were published).
https://ww.wp.xz.cn/plugins/post-expirator/
With this plugin, you can set posts to automatically “expire” after a certain time passes, or date is reached, and then what happens to those expired posts. You can choose to have posts automatically change state, say published to private or trash, which would make the posts unavailable to your normal site visitors.
To change the URL, the plugin additionally allows you to replace categories, so assuming you are using category in your permalink slugs (Settings > Permalinks), I would think your URLs would also automatically update after posts expire.