A covalent bond involves overlapping of orbitals while an Ionic bond involves charge separation.
Why are bonds formed by the overlapping of orbitals weaker than charge separation; why is an ionic bond stronger than a covalent bond?
In a fully covalent bond, you only have the mixing of the orbitals, as you said. But it's not only that, you also have coulomb interactions between the nuclei, that slightly raise the energy of the molecular orbitals, which results in asymmetric energies.
In a fully ionic bond you also have a coulomb interaction, but this time with the different sign, because you have a positive and a negative charge. These want to be as close together as possible, resulting in a stronger bond.
Generally speaking: Coulomb interactions have a greater impact than molecular orbitals on the energy, and thus the strength, of a bond.
It's almost like saying that electromagnetic forces are stronger than gravitational forces.
Two atoms will always (with a few corner-case exceptions) form the strongest bond between them that they can.
If they form a covalent bond then that is because the covalent bond is stronger than the alternative ionic bond (at least after taking into account the ionisation energies). This is either because the covalent bond is strong (good orbital overlap) or the ionisation energies are so large that they would outweigh the ionic lattice enthalpy.
If they form an ionic bond then that is because the ionic bond is stronger than the alternative covalent bond. This is either because the covalent bond is weak (poor orbital overlap / mismatched orbital energies) or the ionisation energies are relatively small compared to the lattice enthalpy.