Yes, that example is exactly doing what I describe above. Only that it generates markup whereas I want to store the url in a variable.
I think what I’m after is something like this:
$page->url($page->translations(false)->first())
$page->translations(false) would exclude the current language form the translation collection. And this is the missing piece, $page->translations() always returns all languages.