I see your problem. The tag I used above should probably be
since you want an actual URL rather than the ID.
If that doesn’t work, using PHX might. You could have a special value for the TV if it’s an internal link (e.g. "Internal") and the URL itself if it’s not. The Ditto Tpl chunk would look something like this:
[*TvName:is=`Internal`:then=`[~[*id*]~]`:else=`[*TvName*] *]
I’m still not sure it would work, though.
The only thing I can think of that would work for sure is to just put the actual URL (local or foreign) in the TV.