That's indeed a good point, there are people not making engines and building their games on top of APIs directly and there are people actually making the engine. I'm the latter, I'm an engine programmer for a living, I really love doing low level backend stuff, specially gpu related.
I call it Fear Engine and it also has an Editor, so in practice, it's actually 3 projects: Fear Engine, Fear Editor and Game, both Editor and game are served by the engine in all backend related needs such as physics and 3D rendering. Game was also generated by the Editor making it the highest level project of them all. The Editor, uses a special build config of Fear Engine that allows for run-time profiling in exchange of performance, since in editor we care more about debugging than actual performance, while the opposite applies to the game itself). After I'm done working in the editor I "(re-)export the game", which means packing all assets and shaders into optimized data format for an actual stage run in game (it's like the "Package project"option in Unreal).
it's no simple task, the current engine I'm making & using I began development 5 years ago, but for me it's worth it for the freedom, lightweight and control :)
I'm still improving it and fixing bugs along the way, but it's now stable enough to take less than 10% of my time in my current game I'm developing: https://itch.io/t/2661175/shine-project