In practice, raytracers tend to decompose surfaces into triangular meshes first, because the math needed is so much simpler.
However, you asked how to calculate the intersection between a line and a quadrilateral in 3D, so here goes.
Let's define your ray using an unit vector $\hat{n}$ (unit referring to unit length, $\lvert\hat{n}\rvert=1$) that passes through some point $\vec{p}_0$,
$$\vec{p}_{RAY}(t) = \vec{p}_0 + t\,\hat{n}$$
The quadrilateral is a bit more complicated. Let's say the four corners are $\vec{p}_1$, $\vec{p}_2$, $\vec{p}_3$, and $\vec{p}_1$, with $\vec{p}_1$ and $\vec{p}_4$ diagonally across from each others. We can trace the surface using two variables, $0 \le u, v \le 1$, where $u=0,v=0$ refers to $\vec{p}_1$, $u=1,v=0$ to $\vec{p}_2$, $u=0,v=1$ to $\vec{p}_3$, and $u=1,v=1$ to $\vec{p}_4$, using bilinear interpolation of the coordinates:
$$\vec{p}_{QUAD}(u,v) = \left ( \vec{p}_1 (1-u) + u \vec{p}_2 \right ) (1-v) + v \left ( \vec{p}_3 (1-u) + u \vec{p}_4 \right )$$
which is, after rearranging the terms, the same as
$$\vec{p}_{QUAD}(u,v) = \vec{p}_1 + u \; v \; ( \vec{p}_4 - \vec{p}_3 - \vec{p}_2 + \vec{p}_1 ) + u \; ( \vec{p}_2 - \vec{p}_1 ) + v \; ( \vec{p}_3 - \vec{p}_1 )$$
The intersection is, of course,
$$\vec{p}_{RAY}(t) = \vec{p}_{QUAD}(u,v)$$
In three dimensions, that is actually three equations with three unknowns,
$$\begin{cases}
x_0 + t n_x = x_1 + u \; v \; ( x_4 - x_3 - x_2 + x_1 ) + u \; ( x_2 - x_1 ) + v \; ( x_3 - x_1 ) \\
y_0 + t n_y = y_1 + u \; v \; ( y_4 - y_3 - y_2 + y_1 ) + u \; ( y_2 - y_1 ) + v \; ( y_3 - y_1 ) \\
z_0 + t n_z = z_1 + u \; v \; ( z_4 - z_3 - z_2 + z_1 ) + u \; ( z_2 - z_1 ) + v \; ( z_3 - z_1 )
\end{cases}$$
This can be solved, but the solution contains dozens of terms, and is therefore terribly slow to compute. (I asked Maple for the exact solution. There are two (i.e., $(t_1,u_1,v_1)$ and $(t_2,u_2,v_2)$, but as they don't fit in one screenful, I decided they are way too long to reproduce here.)
Biquadratic and bicubic Bézier surfaces can be solved the exact same way, it's just that there are more terms (up to $u^3$ and $v^3$, and 9 (biquadratic) 16 (bicubic) coordinates per dimension), and thus the result is even more complicated and slow to compute.
A partial answer: Yes, a straight line on the flattened strip is the shortest path. Think about what happenes to the total path length as you shift any of the intersection points of this path with a triangle edge: the path gets longer.
Be careful, though. Your strip may connect in such a way that a straight line joining the two points will leave the strip. You’ll have to take that possibility into account for a full solution.
Update: I haven’t proven this, but my intuition tells me that if the straight-line path does leave the strip, then adjusting it to get the shortest path is pretty simple. Find the first edge crossing that takes you off the strip and move this intersection to the vertex of that triangle that’s nearest the ultimate goal. Then, take that as your new starting point, draw the straight line from there and iterate.
Best Answer
I was going down the same rabbit hole myself recently, and found this review paper. hope it's a starting point for others looking for some overview on the matter: