En realidad está funcionando bien.
El 2 es el valor del primer id, no? Pues se muestra tantas veces que iteraciones del bucle
Código PHP:
echo $registro[1]['id'];
Con eso le dices que muestre el id del primer elemento (ese 1), así que llega hasta ahí y lo muestra. Luego vuelve a dar otra vuelta el bucle, llega al mismo punto y vuelve a mostrar el valor, por lo que ya tenemos "22", y así hasta que termina.