O problema é que a ( intenção awk variable) $NF está sendo expandida pelo shell em alias tempo de declaração, não quando chamado posteriormente. Então, o alias está sendo eventualmente declarado como:
alias ipconfig="ip route get 8.8.8.8 | awk '{print}'"
e isso vai print o registro inteiro, obviamente.
Você precisa evitar a expansão prematura por qualquer mecanismo de escape usual, aqui estou usando a barra invertida - \ :
$ alias ipconfig="ip route get 8.8.8.8 | awk '{print \$NF}'"
$ ipconfig
192.168.2.6
Ou, se você se sentir vantajoso, poderá jogar com os hacks de citação simples feios :
$ alias ipconfig='ip route get 8.8.8.8 | awk '\''{print $NF}'\'''
$ ipconfig
192.168.2.6
Como uma nota lateral, você deve apenas alias ao fazer substituições simples, para casos complexos, você deve realmente olhar para alavancar funções, elas são muito mais legíveis e confiáveis. Por exemplo, este pode simplesmente ter o seguinte formato (esqueça as citações e outros hacks):
$ ipconfig() { ip route get 8.8.8.8 | awk '{print $NF}' ;}
$ ipconfig
192.168.2.6