What is the level of tidal heating between bodies that are already in mutual tidal lock? As I understood tidal heating, it comes from tidal force acting upon a body as it spins, distorting it; the wave of distortion travels along the surface (along with apparent travel of the other body on the sky) and continued friction as the matter is strained into the traveling wave is the source of tidal heating.

Now, if the two bodies are in a tidal lock, the distortion remains constant - it doesn't move. There's no new work done as the bodies remain immobile relative to each other. The tidal heating should be a flat zero.

Meanwhile, Io has immense volcanic activity attributed to tidal heating - despite it being tidally locked to Jupiter. While it still heats Jupiter, dragging its own tidal wave around it, Jupiter shouldn't contribute any heat to Io as its distortion remains constant over time, a stable equilibrium.

Is that just residual heat from times when Io was spinning or am I missing something?
There are actually several components of tidal forces which serve to distort a planet or moon - diurnal, nonsynchronous rotation, ice-shell thickening, orbit obliquity, and polar wander.  A moon could be stressed by any combination of these mechanisms, leading to frictional forces and heating.


Diurnal Stress - Since orbits are ellipses, not circles, the moon will experience a differential gravitational field.  When the moon is closer to the planet, the tidal stresses will be slightly larger than when it is closer away, since the gradient will be steeper. In addition, since Kepler's 2nd Law informs us that a body moves faster when it is closer to its primary, this means that the tidal locking is imperfect.  When the moon is close to its primary, it is moving slightly faster than it is rotating.  Likewise, when it is further away it is moving slightly slower than it is rotating.  This leads to the moon seeing its primary as oscillating slightly in the sky.  Source
Nonsynchronous Rotation Stress - If the moon's crust is decoupled from its core by a liquid layer (either liquid rock or liquid water), the crust can rotate freely over the core.  The core will stay tidally locked to the primary, but the shell can move around.  Since the core will have a tidal bulge, when the crust moves around it will become stressed.  The crust feels a torque because its thickness varies across the moon's surface.  Source
Ice-Shell Thickening - Icy moons, such as Europa, can experience stresses caused by their icy outer shells freezing and thickening.  As the moon loses heat, the water at the bottom of the shell will freeze.  This will increase its volume, creating extensional stresses.  At the surface, the cooling of the ice will contract it, causing compressional stresses.  While this is not a tidal stress, it is still a source of stressing which can act on these moons, so I thought I'd throw it in.  Source
Orbit Obliquity - Most moons do not rotate exactly perpendicular to their orbital plane.  Rather, their rotational axis has some amount of obliquity.  This obliquity changes the latitudinal orientation of the tidal bulge as the moon orbits the planet.  This creates additional stresses as the tidal bulge gets pulled on.  Source
Polar Wander - Large impacts can cause a moon's lithosphere to rotate and reorient itself relative to its rotational axis.  When this rotation changes the apparent location of the rotational poles, it is called "polar wander".  Polar wander causes stress in a similar manner to nonsynchronous rotation.  The lithosphere rotates over the core's bulge, pushing on the crust.  Source


There may be other stress mechanisms that I am not aware of, but these are the main ones.  If you want more information about the topic, or want to see some visualizations of what these various stresses look like, check out SatStressGUI, a program I helped developed which models stresses on icy moons.