I think the idea behind overlaps is that they are cheap, so they don’t need to do any collision checks. You could of course always calculate it yourself. However, if you don’y wanna go that far, would it be possible to use collision filtering and have 1 object which collides with the same shape as the object which just overlaps. It will be a nasty setup, but definitely not impossible.
Depends on what you have. If for example you have a sphere colliding with a box, you can google for Sphere Box collision. You push the location vector back using the inverse velocity direction of the actor multiplied with the distance towards the edge of the collision.