This type of flange about your only other option. But if you grind down the pipe edge to fit your compression flange, you'll be fine.
BTW, if you look at most cast iron flanges that were joined with lead and oakum, you'll see the pipe end inside the flange, opposite the flow, granted the end of the pipe doesn't look as bad as yours
And the flow should be out of the spigot and into the hub
From your photo it looks like the plumber cut an offset flange to fit around the drain pipe. If you cut/grind the drain pipe down to where the offset flange meets it and leave the rest as is, is there a chance of water leaking down into the ground where the offset flange is cut to fit the drain pipe?
If yes and there are ground termites in your area, you home will become a focal point for the termites. Ground termites need water and when they find a constant source, they focus their nest in that area.
I would have the plumber redo the job, get another plumber to redo it, or redo it yourself. For me, there wouldn't be any other alternative. I would not knowingly have a constant leak going into the ground.
However, if you decide to cut the drain pipe down to where the offset flange is cut to fit around it, then maybe think about cleaning the area really well and fiberglass from the top of the flange down into the drain pipe past the joint. Then "maybe" the water won't be leaking below the slab and inviting all of the termites in your neighborhood.