Eso es porque los nodos los estas ingresando al inicio de la lista por ejemplo si ingresas el 1 y despues el 2, en este caso el 2 quedara a la izquierda del 1 es decir 2,1 y tu puntero cabeza apunta al segundo nodo recien ingresado, en este caso el 2, por lo tanto cuando imprimes, imprimes de izquierda a derecha ose 2,1.
si quieres que los nodos sea impresos segun el orden en que fueron ingresados tendras que modificar la funcion insertar_cabeza.
si quieres que los nodos sea impresos segun el orden en que fueron ingresados tendras que modificar la funcion insertar_cabeza.

talvez lo dices por esto for(i=0;i<5;i++) pues el 5<5 eso es falso por lo tanto no tomara el valor 5.
