git subrepo does work on worktrees in the .git/tmp/subrepo directory. git properly recognizes that this is a worktree; using git rev-parse --is-inside-git-dir returns false. get_root looks like it should resolve to an equivalent of git rev-parse --show-toplevel which in this directory returns the expected path, but the workaround for strange Windows behavior is causing this to fail.
I understand it is strange to have worktrees in the $GIT_DIR, but it works really well for what git subrepo does