This question was asked many times in the past, I just want to be sure I got the answer correctly.
We take a group $G$ which has an even order, we take all the elements of order greater then $2$ and pair them with their inverses (of the same order of course) we get a set (it maybe not a subgroup) of an even order let say $A$, then $|G|-|A|$ is even, now we are left with elements of order $1$ which is $e$ and elements of order $2$.
Then we have $|G|-|A|-\{e\}=2k-1$ then the number of elements of order $2$ is odd
Your argument is completely right. Let me point out that the proof is very much alike to that of a well-known theorem: a non-trivial finite group $G$ of prime power order has a non-trivial center $Z(G)$. Recall that the key ingredient of the proof is the class equation (or the partition equation) $$ G = \coprod_{g \in [G/\sim_G]} g^G = 1^G \amalg \left(Z(G) \setminus 1^G\right) \amalg \coprod_{\substack{g \in [G/\sim_G]\\ g \not\in Z(G)}} g^G.$$
Now, in your setting, let's consider a group $T = \langle t \rangle$ of order two and acts on the group $G$ of even order by $g^t = g^{-1}$. Then you have $T$-orbit decomposition $$ G = \coprod_{g \in [G/\sim_T]} g^T = 1^T \amalg \left(I(G) \setminus 1^T\right) \amalg \coprod_{\substack{g \in [G/\sim_T]\\ g \not\in I(G)}} g^T, $$ where $ I(G) = \{\, g \in G \mid g^2 = 1 \,\} $. Taking cardinality, you'll get the conclusion.
You may find several others that fit into this scheme.