I agree with the statements in Ulrike Fischer's answer but would like to add that there is not really a choice. It is not really decided by the standard LaTeX drawing engines like TikZ, PSTricks or l3draw where the line ends up sitting. Apart from the fact that a convention like above or below would not make much sense because lines can have an angle and merge with curves, it would be next-to-impossible to implement a convention of that sort because the line is not "drawn" by LaTeX but by some driver (or "viewer"). To see what that means, consider a nontrivial example.
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[font=\sffamily,nodes={text width=3cm,align=center}]
\begin{scope}[local bounding box=A]
\draw[double distance=2em] (0,0) circle[x radius=3em,y radius=1.2em];
\draw[dashed] (0,0) circle[x radius=3em,y radius=1.2em];
\end{scope}
\path (A.south) node[below=1em]{Boundaries of a thick line.};
\begin{scope}[xshift=3.5cm,local bounding box=B]
\clip circle[x radius=3em,y radius=1.2em];
\draw[line width=2em] (0,0) circle[x radius=3em,y radius=1.2em];
\end{scope}
\path (B.south) node[below=1em]{Efforts to have line on one side of a path.};
\begin{scope}[xshift=7cm,local bounding box=C]
\clip circle[x radius=3em,y radius=1.2em] (-4.1em,-2.3em) |- (4.1em,2.3em) |-
cycle;
\draw[line width=2em] (0,0) circle[x radius=3em,y radius=1.2em];
\end{scope}
\path (C.south|-B.south) node[below=1em]{Efforts to have line on the other side of a path.};
\end{tikzpicture}
\end{document}

The left inlay shows the boundaries (solid) of a thick line with a certain center (dashed line). TikZ does actually not "know" the coordinates of the outer boundaries. While it is possible to derive them for the case at hand, i.e. for an ellipse, there are no simple expressions that cover the general case. Rather, this is the "hard work" done by the graphics card (when you watch this on the screen). Since we definitely want to have smooth combinations of straight segments and curves, the only reasonable convention is to follow the conventions of the drivers.
The other two inlays indicate how one may conceivably get a line that is drawn only on one side of the path. Yes, in specific situations you can always cook up something that does that but there is no general way to do that for all conceivable paths.
So the bottom-line is that there is not really a choice. For any of these applications, regardless of whether or not they are related to LaTeX, we better become friends with what the drivers give us. Otherwise it will be next-to-impossible to have smooth paths. Therefore, as long as you do not make some big efforts, you can be pretty sure that all these packages follow the convention that at any point of a smooth segment the line extends by the same distance along the normal.
I try to illustrate this by the following animation.

The blue curve is the ellipse one draws, the gray line is the thick line we are interested in. At each point one can look at the tangent (orange) and the normal. The line extends in both directions by the same amount. A subtle point in curves is that they can seem to extend further because of the curvature, i.e. when we try to measure the width we also see some part that comes from an earlier stretch. I am not convinced that the verbal description is optimal, but I want to describe what one sees at the left an right stretches.
P.S. This is the code for the animation.
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{decorations.markings}
\begin{document}
\foreach \X in {0,0.025,...,0.975}
{\begin{tikzpicture}[font=\sffamily,nodes={text
width=3cm,align=center},>=stealth,scale=2]
\path[use as bounding box] (-4.7em,-3em) rectangle (4.7em,3em);
\draw[line width=3em,gray] (0,0) circle[x radius=3em,y radius=1.2em];
\draw[blue,postaction={decorate,decoration={markings,
mark=at position {\X} with {\draw[orange] (-1,0) -- (1,0);
\draw[red,|<->|] (0,1.5em) -- (0,-1.5em);}}}](0,0) circle[x radius=3em,y radius=1.2em];
\end{tikzpicture}}
\end{document}