Várias coisas podem estar confusas aqui.
Filedescriptors são anexados a um arquivo (no sentido geral) e são específicos de um determinado processo. Filedescriptors são eles próprios referenciados através de ids numéricos pelo seu processo associado, mas um descritor de arquivo pode ter vários ids. Exemplo: ids 1 e 2, que são chamados de saída padrão e erro padrão, geralmente se referem ao mesmo descritor de arquivo.
Os links simbólicos /proc/pid/fd/x
fornecem apenas uma sugestão para o que o filedescriptor x do processo pid está vinculado. Se é um arquivo regular, o link simbólico dá o seu caminho. Mas se o filodescriptor for, e. um socket inet, então o symlink está apenas quebrado. No caso de um arquivo regular (ou algo que tenha um caminho como um tty), é possível abri-lo, mas você obteria um filedescriptor diferente para o mesmo objeto.