Typically, vertices are streamed into the vertex shader in patch space, a sort of local coordinate system that describes the areas to be tesselated (patches), but may not describe the model itself (polygons). The hull and domain shaders work on these patches. The hull shader runs in patch space, while the domain shader runs half in patch space, passed from the hull shader control point function (a control point is a "patch level vertex"), and half in the tangent space of the patch (i.e. in the plane of the patch). This allows you to know the positions of the new vertices in relation to the control points of the patch. Once tesselation is complete, the model can be in either projection space, if you have no geometry shader, or in model space if you do. The geometry shader can then add or subtract vertices from the model, transform the results into projection space, and then pass them to the pixel shader. The final stage, the pixel shader, usually operates in screen space (i.e. if you query SV_Position, it will be in screen space).
While these are common, you can also directly specify coordinates in projection space (if it's more convenient for an algorithm), world space, local space, transformed local space, tangent space, normal space, light space... really anything you'd like. The typical pipeline spaces I've listed, but that, again, is only one example. It's really up to you.