My question is: is it true that $\zeta_n$ is in $K$ (a number field) iff $\zeta_n$ is in all but finitely many of the $K_{\mathfrak{p}}$?

The answer is yes, and this follows (as BCnrd points out in the comments above) immediately from the Chebotarev Density Theorem. See e.g. Corollary 9 here. More generally, let $K$ be any global field and $f \in K[t]$ be any irreducible, separable polynomial of degree $d > 1$. Then there are infinitely many places $v$ of $K$ such that $f$ does not split completely over $K_v$. Indeed, let $\alpha$ be a root of $f$ in a separable closure of $K$, let $L = K[\alpha]$ and let $M$ be the Galois closure of $L/K$. A finite place $v$ of $K$ splits completely in $L$ iff it splits completely in $M$ (Exercise 5.1.3), so by Chebotarev's Theorem, the set of primes which do not split completely in $L$ has density $1  \frac{1}{[M:K]} > 0$. If $L/K$ is already Galois, the argument is simpler and the conclusion is stronger: there are infinitely many places $v$ of $K$ such that $f$ does not have any $K_v$rational roots. This is the case in the OP's question, which we recover by taking $f$ to be the minimal polynomial over $K$ of any one primitive $n$th root of unity. On the other hand for every composite number $d$, there is a degree $d$ irreducible polynomial $f \in K[t]$ which is reducible in every completion $K_v$: this is a 2005 theorem of Guralnick, Schacher and Sonn. 


This is only a partial answer. The statement is true if $n$ is large relative to the degree of $K/\mathbb{Q}$. Namely, let $n$ be such that $\zeta_n$ is not in $K$ with $n\gg [K: \mathbb{Q}]$. Then choose $b\in \mathbb{Z}/n\mathbb{Z}$ such that $(b, n)=1$ and such that $b^m\not= 1$ for all $m\leq[K: \mathbb{Q}]$, which is possible as $n$ is large. By e.g. Dirichlet's theorem on primes in arithmetic progression, there are infinitely many primes $p\in \mathbb{Z}$ with $p\equiv b\mod n$. Let $\mathfrak{p}$ be any prime in $\mathcal{O}_K$ lying above such a $p$. Then the residue field $\mathcal{O}_K/\mathfrak{p}=\mathbb{F}_{p^m}$ for some $m\leq [K: \mathbb{Q}]$. Furthermore, by our choice of $p$, $p^m\not\equiv 1\bmod n$, and thus $n$ does not divide the order of $\mathbb{F}_{p^m}^\times$, so $1$ does not have an $n$th root in $\mathcal{O}_K/\mathfrak{p}$, and thus it does not have such a root in $K_\mathfrak{p}$. But there are infinitely many such $\mathfrak{p}$ (any $\mathfrak{p}$ lying above a $p$ as chosen via Dirichlet's theorem works), so we have established the claim. EDIT: I see BCnrd has answered the question in comments, but I figure the above might still be of interest. 

