A couple of comments.
Surface contours and filtered polylines are two different things. A surface contour (CAD polyline) works to a spline frame with the segments calculated from the frame. It allows portions of the line to be pulled close to the vertex or more smoothly away from the vertex. In the figure below the blue line has a surface sharpness of smooth while the red line is sharp. You can see how the same contour line varies as they cross. A contour line has a property to allow it to be smoothed or just show the spline frame. When you smooth the line it is pulled away from the surface slightly. Sending the unsmoothed contours to the field will create the smallest files. The lines will be straight line interpolations along the triangles. They they can later be set back to smooth.
The problem that remains is when you have lots of very small triangles. Unsmoothed lines will have a vertex at every triangle line. In this case you may want to filter the lines and get a rougher approximation.
Once you filter a line you no longer have the original spline frame and the elevation will not match the surface precisely. These lines now become linestrings. Note that when we export a linestring with a single elevation they are mapped to polylines. Once filtered, the lines have to be re-created to get back to the original shape.
Imported polylines used to create surfaces should be heavily smoothed to reduce the number of verticies in the surface. You will save time and file size to clean up the surface as much as possible.
So the user has a few methods to get the data to the field. Ultimately we send out what you create as is, so that you get the same results as close as the two products can represent the same data. We can't filter the lines as you will loose the original definition.