Blender's "smoothing groups" solution (Edge Split) destroys topology. Is there an alternative solution?
I suggest you use the modifier Edge Split instead.
In Edit mode, select your edges desired to be sharp. Hit Ctrl+E to bring up the Edges menu. Select Mark Sharp. Now add the Edge Split modifier.



Edges are split by the modifier. In Edit mode they are marked cyan. Topology is still fine: