The problem I have with worktrees is that if I want to test the changes I need to juggle the worktrees.
It works better for me if I have multiple copies of the repo with their own supporting environment like repo-a, repo-b, etc. going to app-a.foo.localhost, app-b.foo.localhost, etc.
Aren't worktrees multiple copies?
I usually have multiple worktrees and each one has different ports the various apps and servers talk to so I can easily visit each worktree's instance to test while having them all run.
It works better for me if I have multiple copies of the repo with their own supporting environment like repo-a, repo-b, etc. going to app-a.foo.localhost, app-b.foo.localhost, etc.