For every $\kappa$ of uncountable cofinality there is a tree $T\subseteq 2^{<\kappa}$ such that $[T]=\kappa$. The tree $T$ is the tree of all binary sequences $f\colon \alpha \to 2$, $\alpha <\kappa$ such that $f^{-1} (1)$ is finite. It is clear that for every $f \in T$, $f\frown (1), f\frown (0)$ are both in $T$, so this tree is prefect.
Any branch $b$ of $T$ contains finitely many $1$-s, since $\text{cf }\kappa > \omega$ and therefore is there were infinitely many $1$-s, there was some $\alpha$ such that $b\restriction \alpha$ contains already infinitely many $1$-s. On the other hand, it is clear that for every $b\colon \kappa \to 2$, with $b^{-1}(1)$ finite, $\{ b\restriction \alpha \mid \alpha < \kappa \}$ is a branch in $T$.
There are $\kappa^{<\omega} = \kappa$ such branches, as wanted.
Edit: I argue that the $ZFC$ doesn't prove that there are prefect sets in $^\kappa\kappa$ of size $\kappa^{+}$. The proof is similar to the proof of the consistency of "there are no Kurepa trees".
Theorem: Assume $GCH$. Let $\kappa < \eta < \mu$ be regular cardinals, $\eta$ inaccessible. Then after forcing with $\mathbb{Q} = Add(\kappa,\mu)\times Col(\kappa,<\eta)$, for every $\kappa$-tree $T$, $|[T]| \in \kappa \cup \{\kappa, \mu\}$. In this generic extension $\eta = \kappa^+$, $\mu = 2^\kappa$ and every cardinal $\geq \eta$ is preserved.
Proof: We need the following well known fact:
Fact: Let $T$ be a tree of height $\kappa$. If there is a $\kappa$-closed forcing that adds a branch to $T$ then $|[T]| = 2^\kappa$.
Sketch of proof: Let $\mathbb{P}$ be a $\kappa$-closed forcing that adds a branch for $T$ and let $\dot{b}$ be the name of this new branch. Define an embedding of $2^{<\kappa}$ into $T$ by building a tree of conditions in $\mathbb{P}$, $\langle p_\eta \mid \eta \in 2^{<\kappa}\rangle$ such that for every $\eta$, $p_{\eta \frown (0)}, p_{\eta \frown (1)} \leq p$ give contradictionary information about the branch. Then for every $f\in 2^\kappa$, $b_f = \{ t\in T \mid \exists \alpha < \kappa,\,p_{f\restriction \alpha}\Vdash t\in \dot{b}\}$ is a cofinal branch, and $f\neq g\implies b_f \neq b_g$. Q.E.D.
Let's return to the proof of the theorem. Let $G$ be a $\mathbb{Q}$-generic filter and let $\dot{T}$ be a $\mathbb{Q}$-name for a tree in $V[G]$. Note that $(\kappa^{<\kappa})^{V[G]} = (\kappa^{<\kappa})^{V}$, so we may assume that $\Vdash \dot{T}\subseteq \check{\kappa^{<\kappa}}$.
By the $\eta$.c.c. of $\mathbb{Q}$, we can find a model $M\prec H_\chi$ such that $|M|<\eta$, $\dot{T}, \mathbb{Q} \in M$, $^{<\kappa}M\subseteq M$ and for every $t\in \kappa^{<\kappa}$ there is a maximal antichain $\mathcal{A} \subseteq M$ that decides whether $t\in \dot{T}$ or not (so $T\in V[M\cap G]$).
Note that $M\cap G$ is the restriction of the generic filter to the coordinates that are ordinals of $M$, so it is a generic filter for the forcing $\mathbb{Q}_M := Add(\kappa, \mu\cap M)\times Col(\kappa, <(\eta\cap M))$. Let $\mathbb{P}$ be the restriction of $Add(\kappa,\mu)\times Col(\kappa,<\eta)$ to the ordinals that don't appear in $M$, so $\mathbb{Q}= \mathbb{Q}_M \times \mathbb{P}$.
In $V[G\cap M]$, $2^\kappa$ is less than $\eta$ (since $|\mu \cap M| < \eta$), so if all the branches of $T$ in $V[G]$ are already in $V[G\cap M]$, we have that $V[G]\models |[T]|< \eta = \kappa^+$, and we're done.
Otherwise, let $\dot{b}$ be a name for a new branch. Since $\mathbb{P} \cong \mathbb{P} \times \mathbb{P}$, $\mathbb{Q} \cong \mathbb{Q}_M \times \mathbb{P} \times \mathbb{P}$. Therefore also in $V[G]$, $\dot{b}$ is a $\mathbb{P}$-name for a new branch (by the mutually generity of the two copies of $\mathbb{P}$). Moreover, $\mathbb{P}$ is $\kappa$-closed in $V[G]$, so by the fact above - $V[G] \models |[T]|=2^\kappa$, as wanted.