Why is Ibarra Kim for 0/1 knapsack an fully polynomial time approximation scheme (FPTAS)?
The input to 0/1 knapsack is a list of $n$ items each with a weight $w_i$ and value $v_i$ with knapsack size $W$ and maximum value $V$.  Thus the input list has size $O(n (\log W + \log V))$.

So $n \log n$ is polynomial in the input.

The problem with the traditional dynamic programming solution of knapsack is not that it is exponential in $n$, but that it is polynomial in $W$ (or $V$), which makes it exponential in $\log W$.