We need $4h^2 = 4f_{n-1}^2-f_n^2 = (2f_{n-1}+f_n)(2f_{n-1}-f_n) = (4f_{n-2}+3f_{n-3})f_{n-3}$.
Since $\gcd(f_{n-2},f_{n-3}) = 1$, we have $\gcd(4f_{n-2}+3f_{n-3},f_{n-3}) = \gcd(4f_{n-2},f_{n-3}) \in \{1,2,4\}$.
Let $v_p(n)$ denote the largest integer $k$ such that $p^k \mid n$.
Then, if $p \ge 3$ is a prime such that $p \mid f_{n-3}$, then $p \not\mid (4f_{n-2}+3f_{n-3})$, and so we have $v_p(f_{n-3}) = v_p((4f_{n-2}+3f_{n-3})f_{n-3}) = v_p(4h^2) = v_p(h^2) = 2v_p(h)$, which is even.
If $p \ge 3$ is a prime such that $p \not\mid f_{n-3}$, then trivially, $v_p(f_{n-3}) = 0$, which is even.
Therefore, $v_p(f_{n-3})$ is even for all primes $p \ge 3$.
Hence $f_{n-3}$ is either a perfect square or twice a perfect square.
By this link the only Fibonacci numbers which are perfect squares are $0,1,144$, and the only Fibonacci numbers which are twice a perfect square are $0,2,8$. So it remains to check all of these $5$ cases and see which work.