No, this is not at all true if all we require is that $U$ is free.
Let $\kappa=(2^{\aleph_0})^+$ and let $U_0$ be any free ultrafilter on $\omega$. We define $U=\{A\subseteq\kappa\mid A\cap\omega\in U_0\}$, and we claim that $U$ is a free ultrafilter on $\kappa$.
Clearly, $U$ is free, since otherwise there is some $\{x\}\in U$, in which case $\{x\}\cap\omega\in U_0$, but either $\{x\}\cap\omega=\varnothing$, in which case $\{x\}\notin U$ or $x\in\omega$ and $\{x\}\cap\omega=\{x\}$, but $U_0$ is free as well, so $\{x\}\notin U_0$ and therefore not in $U$ either.
$U$ is a filter, that much is easy to check.
If $A\notin U$, then $A\cap\omega\notin U_0$, which means that $\omega\setminus A\in U_0$, since $\omega\setminus A\subseteq\kappa\setminus A$, we get that $U$ is an ultrafilter indeed.
Since $U_0$ is an ultrafilter on $\omega$, $|U_0|=2^{\aleph_0}<\kappa$, but it is very easy to show that $U$ is the unique ultrafilter on $\kappa$ generated by $U_0$.
The correct generalisation of "free" here is not "containing the cofinite sets", but rather the "small sets". Namely, requiring that $U$ is uniform, or that it avoids $[S]^{<\kappa}$, rather than $[S]^{<\omega}$.
In this case, it is indeed true that any ultrafilter base has size of at least $\kappa^+$, or in other words, given any $A\subseteq U$ such that $|A|\leq\kappa$, the filter that $A$ generates is not $U$ itself, and therefore it can be extended to at least two different ultrafilters.
You can find a short proof in the following paper as Claim 1.2.
Garti, S.; Shelah, S., The ultrafilter number for singular cardinals, Acta Math. Hung. 137, No. 4, 296-301 (2012). ZBL1289.03030.