I am going to use ##v## to represent velocities in the lab reference frame and ##u## to represent velocities in the frame of the compression wave ahead of the piston.
Case 1: Impulsively-started piston
Consider first the impulsively started piston. It is initially at rest, and, at some time ##t=0##, it is impulsively accelerated to a velocity of ##v_p## (moving left to right, per the diagram in the original post). No penetration requires that no fluid crosses the face of the piston, so locally at the piston face, the flow is moving with ##v=v_p##, but in the far field it is still moving at ##u = 0##, creating a velocity discontinuity. It is a classical result that such a change in a 1D duct occurs discontinuously, i.e., as a result of a shock. This shock propagates with a speed ##v_s##.
Consider a change in frame of reference such that the coordinate system follows along with the shock, i.e., subtract ##v_s## from everything. Then the velocity upstream of the shock is ##u_1=0-v_s=-v_s## and downstream of the shock is ##u_2 = v_p- v_s##. One of the standard methods for determining the Mach number of a shock is to look at the velocity ratio across it (in its reference frame), which follows the relation
\dfrac{u_2}{u_1} = \dfrac{2 + (\gamma-1)M_1^2}{(\gamma + 1)M_1^2}
or
\dfrac{v_p- v_s}{-v_s} = \dfrac{v_s-v_p}{v_s} = 1 - \dfrac{v_p}{v_s} = \dfrac{2 + (\gamma-1)M_s^2}{(\gamma + 1)M_s^2}.
From there,
\dfrac{v_p}{v_s} = 1 -\dfrac{2 + (\gamma-1)M_s^2}{(\gamma + 1)M_s^2} = \dfrac{(\gamma + 1)M_s^2 - 2 - (\gamma-1)M_s^2}{(\gamma + 1)M_s^2} = \dfrac{2}{\gamma + 1}\left( \dfrac{M_s^2 - 1}{M_s^2} \right)
Note that ##M_s = v_s/a_1## where ##a_1## is the speed of sound in the stagnant air in the tube, so you can eliminate ##v_s## above and end up with
\boxed{\dfrac{v_p}{a_1} = M_p = \dfrac{2}{\gamma + 1}\left( \dfrac{M_s^2 - 1}{M_s} \right).}
Here, ##M=u/a## is the Mach number, ##\gamma## is the ratio of specific heats, and ##a## is the local speed of sound. You can uniquely determine the Mach number of the shock that propagates away from the piston based on the velocity of the piston and the conditions in the tube at the beginning. Indeed, the term ##M_p = v_p/a_1## represents a Mach number for the piston relative to the calm air in the tube (i.e., the lab frame).
You can easily solve the boxed equation for ##M_s## for a given piston Mach number.
M_s^2 - \left(\dfrac{\gamma + 1}{2}\right)M_p M_s - 1 = 0.
That's a straightforward quadratic equation. If you pick a very low piston Mach number, say, ##M_p=0.1##, you still get a supersonic shock Mach number of ##M_s=1.06##.
A fundamental truth about shocks is that they increase the temperature, pressure, and density of the air into which the propagate. Thus, the piston face experiences a pressure greater than ambient even if it moves at constant velocity, and a constant force is required to maintain that constant velocity (assuming the tube is sufficiently long).
If it seems odd that the shock is supersonic, that's likely because the shock Mach number is measured based on its speed relative to the medium
into which it is propagating (here, the stagnant air). But the shock is propagating
through the heated air behind it, which has a higher temperature and, thus, a higher speed of sound. It is still subsonic relative to that medium.
Some good sources
[1] Liepmann, H. W., Roshko, A.1957. "Elements of gasdynamics." Dover.
[2] Anderson, J. D. 2003. "Modern Compressible Flow with Historical Perspective." McGraw-Hill.
[3]
https://www.grc.nasa.gov/www/k-12/airplane/normal.html