Why can "ContourPlot3D" plot the range outside the definition?

Hello,

ContourPlot3D[{z == Sqrt[2 - x^2 - y^2]}, {x, -2, 2}, {y, -2, 
  2}, {z, -2, 2}, AxesLabel -> Automatic]

will produce

Why can this function draw an image when z is less than 0? In this case, the definition domain of z has been exceeded.

Interesting:

ContourPlot3D[z - Sqrt[2 - x^2 - y^2],
 {x, -2, 2}, {y, -2, 2}, {z, -2, 2},
 AxesLabel -> Automatic,
 Contours -> {1, -1}]
ContourPlot3D[z - Sqrt[Abs[2 - x^2 - y^2]],
 {x, -2, 2}, {y, -2, 2}, {z, -2, 2},
 AxesLabel -> Automatic,
 Contours -> {1, -1}]

In dimension 2 there is no problem:

ContourPlot[z - Sqrt[2 - x^2],
 {x, -2, 2}, {z, -2, 2},
 Contours -> {1, 0, -1}, ContourShading -> False]