A proof using the contrapositive
You did very well: you got to the "meat" of the proof.
I'll simply add "a side dish":
I would simply add, after demonstrating that, given $m$ and $n$ are both odd, and hence, as odd, there is an integer k such that $m= 2k+1$, and an integer $l$ such that $n = 2l+1$. Thus it follows that $$mn= 2(2kl + k + l) + 1 $$ by concluding that $$mn= 2(2kl + k + l) + 1 \,\text{ is odd. }$$
Hence, by the equivalence of the contrapositive, we have proven: "If $mn$ is even, then either $m$ or $n$ (or both) is even."
Here is a slightly different way of doing it.
First note that the difference between two even numbers is even because $2a-2b=2(a-b)$ and if $m$ is odd then $m-1$ is even so $m-1=2r$ and $m=2r+1$.
Now suppose $mn$ is even and $m$ is odd, then $mn=(2r+1)n=2rn+n$ and $n=mn-2rn$ is the difference between two even numbers and hence is even.
So if $mn$ is even and $m$ is not we have shown that $n$ is even. Hence if $mn$ is even either $m$ is even or $n$ is even.
The contrapositive is
If $m$ is odd and $n$ is odd, then $mn$ is odd.
If you prove this, then, since it is equivalent to your original problem, you will have solved the problem.
Which you did correctly. Perhaps, only thing you could add is at the beginning:
$m$ odd so we can find some integer $k$ so that $m=2k+1$ and we can find some integer $l$ so that $n=2l+1$