This seems like an odd workflow (though an understandable one). Most people would use git branches for switching between feature or bugfix branches. (So long as you don't have to work on them in parallel.)
This workflow could definitely benefit from setting CARGO_TARGET_DIR to a shared location (or just putting multiple checkouts into a workspace) to allow sharing of work.
I've set my target dir to a shared location a good while ago -- basically a poor man's sccache. It works really well, and I just have to remember to run a cargo clean about every six weeks whenever I run rustup update.
I don't really like having to create WIP commits just to switch over to work on another issue. Yeah, I suppose I could just run git commit -am "WIP", switch to another branch, then run git reset --soft HEAD^1 when I switch back, but git worktree seems like a better workflow to me - I can have each workspace open in its own editor and switch between them by just tabbing between windows rather than having to change the state of my worktree.