It seems that the answer is really $2mn$ for the original question (and $mn+2$ for the question in the remark) --- i.e., all the points can be in a convex position!
Start with the following recursive construction. Take a semicircle $\Omega$ centered at $O_1$. Take a point $O_2$ on the diameter to the right of $O_1$. Take a point $A_1\in \Omega$ to the left of $O_2$; let the line through $A_1$ perpendicular to $O_2A_1$ meet $O_1O_2$ at $B_1$ (then $B_1$ is outsude $\Omega$). Choose $A_2$ on the arc of $\Omega$ lying inside $\triangle O_2A_1B_1$ and proceed in the same way (see figure below).
Now, take circles $\beta_1,\dots,\beta_m$ centered at $O_2$ and passing through $A_1,\dots,A_m$. Take $n$ circles $\alpha_1,\dots,\alpha_n$ centered at $O_1$ and sufficiently close to $\Omega$. Their pairwise points of intersection are close to the $A_i$ (and to their reflections in $O_1O_2$). If we take a broken line of all such points of intersection with $\beta_i$ (which are around $A_i$), the directions of all its edges will be close to the direction of the tangent to $\beta_i$ at $A_i$ --- i.e., to $A_iB_i$.
Het $\mathcal H_i$ be the half-plane of the line $A_iB_i$ containing $O_2$. The intersection of all the $\mathcal H_i$ ($i=1,2,\dots,m$) is a convex polygonal region, with all the $A_i$ on its boundary. Thus, connecting our broken lines together we will get a convex broken line. (Pitifully, the points become too close, so I could not make a good picture of it...)
Finally, this resulting broken line can be augmented by either $O_1$, $O_2$ or its reflected image, by your wish, to obtain a convex polygon.