Another option you have available is to use the optional third argument of Circle
to limit the circle to an arc. You can combine this with Solve
to find the intersection points initially. It requires a little calculation to translate intersection points into arc angles but it does avoid defining potentially very complicated functions for contour plots and this method is completely general.
Initial graphic using whole circles rather than arcs:

Function to calculate arc angles from limiting coordinates and circle centre:
LimitAngles[{pstart_, pend_}, center_: {0, 0}] := Module[{a1, a2},
{a1, a2} = ArcTan @@@ ((# - center) & /@ {pstart, pend});
If[a2 < a1, a2 += 2 \[Pi]];
{a1, a2}
]
Solve
to find intersection points:
sol1 = Sort[NSolve[
{x, y} \[Element] Circle[{0, 0}, 5] &&
{x, y} \[Element] Circle[{0, -3}, Sqrt[4.6]],
{x, y}][[;; , ;; , 2]]];
sol2 = Sort[NSolve[
{x, y} \[Element] Circle[{0, 0}, 5] &&
{x, y} \[Element] Circle[{-4, 0}, Sqrt[2.]],
{x, y}][[;; , ;; , 2]]];
Final graphic with circles limited to arcs:
Graphics[{
Circle[{0, 0}, 5, LimitAngles[{sol1[[2]], -sol2[[2]]}]],
Circle[{0, 0}, 5, LimitAngles[{-sol2[[1]], -sol1[[1]]}]],
Circle[{0, 0}, 5, LimitAngles[{-sol1[[2]], sol2[[2]]}]],
Circle[{0, 0}, 5, LimitAngles[{sol2[[1]], sol1[[1]]}]]
Circle[{0, -3}, Sqrt[4.6], LimitAngles[Reverse@sol1, {0, -3}]],
Circle[{0, 3}, Sqrt[4.6], LimitAngles[Reverse@-sol1, {0, 3}]],
Circle[{-4, 0}, Sqrt[2.], LimitAngles[sol2, {-4, 0}]],
Circle[{4, 0}, Sqrt[2.], LimitAngles[-sol2, {4, 0}]]
}]
