Equivalence of Two Cartan Subalgebra Definitions in Semi-Simple Lie Algebra
Solution 1:
What you want is proven in greater generality in Bourbaki's Lie Groups and Lie Algebras, chapter VII §2 no.4 (your statement is a special case of Theorem 2). As usual, Bourbaki's proofs go by reference to earlier proofs; unravelling those, it looks like they followed a strategy very similar to yours. The missing link at the end is what constitutes lemma 2 and Proposition 11 in loc.cit. §1 no.3, and it goes like this:
Non-degeneracy of the Killing form $\kappa(\cdot, \cdot)$ implies that $\mathfrak{h}$ is reductive (this is a much earlier result from ch. I of loc.cit., and not hard to prove). (I am not sure if at this point in your argument we are allowed to assume $\mathfrak{h}$ abelian without making an earlier argument circular -- if yes, then of course this is redundant anyway and in the following replace $\mathfrak{c}$ by $\mathfrak{h}$.) Now let $\mathfrak{c}$ be the centre of $\mathfrak{h}$ and let $x\in \mathfrak{c}$ be $ad$-nilpotent in $\mathfrak{g}$. Then for all $y \in \mathfrak{h}$, $ad(x)$ and $ad(y)$ commute, hence $\kappa(x,y)=0$. But it is another fact that
the restriction of the Killing form to $\mathfrak{h} \times \mathfrak{h}$ is non-degenerate, $(*)$
so this implies that actually $x=0$. Using that the nilpotent part of $ad$ of any element $x' \in \mathfrak{c}$ is in $\mathfrak{c}$ itself (by being a polynomial in $ad(x')$) one can conclude that every element of $\mathfrak{c}$ is actually $ad$-semisimple, which is enough to conclude.
Now to prove $(*)$, one has to go down another rabbit hole of propositions which might simplify in your algebraically closed case. The crucial part is that if one has a finite-dimensional representation of any nilpotent Lie algebra $\mathfrak{h}$, and for weights $\lambda$ of $\mathfrak{h}$ looks at generalised eigenspaces $V^\lambda$, and one has an $\mathfrak{h}$-invariant bilinear form on $V$, then $V^\lambda \perp V^\mu$ unless $\lambda+\mu=0$; meaning that if the bilinear form is non-degenerate, so must be its restriction to $V^\lambda \times V^{-\lambda}$ for all $\lambda$. (And in our case, $V=\mathfrak{g}, \lambda=0$ and $\mathfrak{h}= \mathfrak{g}^0$ by being self-normalising.) For more precise arguments, this is Proposition 9(v) and 10(iii) in loc.cit. ch. 7 §1.