Let $z=e^{it}$ so taking out a $z$ factor we get an expression of the type $\sum_{k=0}^{2n-1}b_{k+1} \lambda_{k+1}(z)z^k, \lambda_k(z)=\pm 1$ and we need to find roots on the unit circle.
Take $n=3$ and $b_1=0, b_2=...b_6=1$ then simplifying another $z$ we get $\sum_{k=0}^{4} \lambda_{k+2}(z)z^k, \lambda_k(z)=\pm 1$ so if $\omega_{1,2,3,4}$ are the non real roots of $z^5=1$ and $\eta_{1,2,3,4}$ are the non real roots of $z^5=-1$ we can choose $\lambda_k(w_{1,2,3,4})=1$ and $\lambda_k(\eta_{1,2,3,4})=(-1)^k$ and then clearly all those $8$ numbers are unit circle roots of the given $f$ so the OP's question has a negative answer.
Similarly, we can get for any $n$ an example with $4n-4$ roots.
However, this begs the question if the equation above which has always finitely many roots bound by $(2n-1)2^{2n}$ (as the choices of $\pm 1$ are $2^{2n}$ for fixed $n, b_k$ and each gives a polynomial of degree at most $2n-1$ as noted), has always the number of roots bound by some polynomial function of $n$ and what is the minimum degree of such- eg if a linear bound like the one asked in the OP but slightly larger like say $4n$ holds