Is it possible to get automatic smooth edges with flat faces without adding geometry?
From what I have gathered researching, no, it is not currently possible in an automated way inside Blender.

For what it's worth, it would not be hard to implement a solution for this in Blender. I ended up implementing a solution in a Unity AssetPostprocessor instead since that's what I'm familiar with.

The approach I took was to calculate smoothing (smooth vertex normals) using a different weighing method than Blender does. When averaging face normals together in order to calculate smooth vertex normals, it's possible to weight the normals according to the areas of the faces contributing to the vertex normal. This way larger faces contribute more to the normal than smaller faces. This fairly standard weighing approach already produced much improved results.

I ended up going a bit further and kept track of the largest area of the contributing faces. Then when calculating the average, I only included face normals in the average from faces with areas of at least a certain percentage of the largest contributing face. This mostly keeps the bevel faces from influencing the normals at all.

These techniques only work well when the bevel width is small compared to other details of an object. But it worked very well for me in any case.