Have you seen GhostCell[1]? Seems like this could be a solution to your problem.
Not clear why it never caught on.
There have been many attempts to solve the Rust back reference problem, but nothing has become popular.
I appreciate people arguing over this. It helps. We've seen proposals from people who are too much into the type theory and not enough into ease of use. I used to do proof of correctness work, where the problem is that proof of correctness people are too into the formalism and not enough into killing bugs.