Sounds like just c or c++ with something like SDL really would do. No need to complicate things.
Then you'll end up spending more time on making tools than an actual game.
If you want to make games, it's better to use an engine. Otherwise, it'll end up taking several years for any serious project.
Depends on the project, requirements etc. Doing things on a lower level do not automatically mean that you write your own actual engine (or tools), if the game is simple. It is definitely a risk and a trap I have stepped into a few times, but it is not the only way to code. Not knowing all the requirements, just going by the first post that did not say much more than complain about bloated engines and a requirement on pixel-perfect graphics, it sounded like there was a possibility that something more low-level would be the right choice.
I might have otherwise said Godot as others did. It has a very nice license and after not wanting to use it because of gdscript I decided to try it anyway a few months ago and it turns out I do not mind using it at all. It is just another programming syntax, no surprises, auto-completing editor. Really nothing to worry about (as I did). But I am not so sure about Godot and pixel-perfect graphics. I have some vague memory of some part of the documentation saying something that made me a bit worried about that? And I have only done a few small toys with it, so I do not dare recommend it 100% to anyone yet. And without evidence that the game is so complex that it could benefit from the added bloat (however small) and an extra dependency (always a big minus!) SDL could still be a better choice even if Godot is as amazing as I have begun suspect that it is.