What essentially happens in this proof? We repeat the usual proof, but replace the fundamental linear algebraic theorem "$n$ vectors in $\mathbb{Q}^{n-1}$ are linearly dependent over $\mathbb{Q}$" by its counting proof. 

Let me give here this proof explicitely: if $v_1,\dots,v_n$ are vectors in $\mathbb{Q}^{n-1}$, choose at first positive integer $N$ such that $u_i:=Nv_i\in \mathbb{Z}^{n-1}$. Then denote by $M$ the maximum of absolute values of coordinates of $u_1,\dots,u_{n}$. Consider all $(K+1)^n$ linear combinations $c_1u_1+\dots+c_n u_n$, where $c_i\in \{0,1,\dots,K\}$. They belong to the set $\{-nMK,-nMK+1,\dots,nMK-1,nMK\}^{n-1}$. So, if $(2nMK+1)^{n-1}<(K+1)^n$ (true for large $K$), by pigeonhole principle there are two equal values of linear combinations, hence $u_1,\dots,u_n$ are linearly dependent with integer coefficients as desired.

Applications of linear algebra in combinatorics often use this fundamental theorem either over finite fields, like in oddtown theorem (where the same counting argument works even easier) or over $\mathbb{Q}$. I think, we really need $\mathbb{R}$ or $\mathbb{C}$ only when we come to eigenvalues.