You can't preserve them simply.
What you can do is make multiple copies of the mesh, each from a different shapekey, and then join as shapes.
Make a copy of your curve object for each shapekey. For each copy, set the value of one shapekey for the curve to 1.0 (or pin that shapekey.)
Select all of your curve objects and convert to mesh.
With all objects ...
Sadly this can't be done with curve's builtin bevel function yet, Mirror modifier on bezier curves acts on the generated mesh level, not directly on bezier data unfortunately.
You'll have to fake it with modifier equivalents.
Remove any native bevels you bezier curve has
Add a Mirror modifier with merge enabled
Add a Solidify modifier, set the desired ...
It's not the Shrink Wrap modifier but the curve guide that you've created that causes the problems.
Curves have normals and can be tilted with Ctrl+T in Edit mode. In Edit mode, you also can activate the [X] Normals overlay. Just lower the number for the length to 0.005 else you will get a mess with the default value:
Normals of the curve guide
Now you can ...
This isn't procedural, but ...
If the object has 2 profiles, it's not really a surface of revolution? It's an interpolation?
Here, the 2 profiles are in planes, to make them easier to see, at right-angles to one another, intersecting at the object origin, and extruded tangentially to guide 'Blend Surface',later.
Once done, the intersection of the planes is ...
You could create this shape:
Then bevel the bottom edge, tweak the parameters in the Operator box so that it follows the curve with the amount of segments you want:
Or just create this cylinder shape, create horizontal edge loops:
then scale the edge loops so that it fits the shape, create additional ones:
Make a curve for the strip any way you like. I use Bezier. So Shift + A -> Curve -> Bezier. Make another curve Circle for the profile of the strip. Now you can select the first curve and in the Properties editor, in curve properties tab, geometry section, select object bevel mode and choose the second curve as profile. You need to edit the profile ...
It depends on your topology, but if think ahead, to include the width of your kerb in the road-plane, (and the style suits you), you can take an approach like this:
I Inset your road, and invert the selection to select the rim
ShiftD duplicate the rim, and P separate it to a new object.
You may have to make a few adjustments to the cross-cuts in the rim, ...
Here is what I do for such shape.
Use a Bezier curve, in this example called "path to follow" for the general curving shape.
Use a different Bezier curve, in this example called "bevel shape" for the shape you have drawn in red.
Use a third Bezier curve, in this example called "taper" to control how the bevel tapers from one ...
Crazy cloth pressure solution
I'm pretty weak at physics, so posting this before someone comes up with a boring solution of simply goal vertex group having weight proportional to distance from the beginning of the curve...
Convert the curve to mesh.
Select starting vertices (in my case a few embedded inside the block) and add them to vertex group PIN.
I would enable Add Curve: Extra Objects in preferences, so that I could add a spiral. Instead of trying to wrap a Bezier curve around the pole, I would add an Archemedian spiral and set its parameters to match the pole. Here's an example:
and the parameters that produced the spiral:
This would work nicely if you have a material that makes the tube look ...
You should have created a straight chain, what you've got here is an already twisted chain, if you give it a Curve modifier with the curve as Object, as MikoCG says, it will get even more deformed: the curve takes the object as it exists and twist it. If the object is already twisted it will be even more.