The overwhelming majority of people were using tessellation with a texture in order to add additional static detail to static meshes. I’m not sure you would consider that an “adequate” use case, but it is what most people used it for. For that, Nanite produces far superior quality at higher performance, at the cost of being somewhat less convenient depending on how you generated/acquired your content.
The second most common thing people used it for was as you’ve stated above: Procedural animation/deformation. But primarily people were doing that specifically for two things: Water surfaces and landscape deformation (such as snow). Both have better replacements coming in UE5.
For everything else, there’s still WPO. You’ll just have to pre-tessellate them and use LODs. Perhaps not ideal, but it is still usable.