Definitely not freetype in top 5. Not that freetype is bad, it is useful, but it has not so easy-to-use API and is a bit unfriendly.
I would consider glfw instead of SDL, as it is much smaller and doing only one thing, but does it good. SDL tries to cover a lot (windowing, joysticks, audio, graphics, 2d renderer, etc...
And as alternative to bgfx I would consider looking at sokol_gfx.h from
https://github.com/floooh/sokol. Differences is that sokol is much smaller (so easier to understand), real single-header file library (not automagic concatenate all the files) and C, not C++ implementation, which may or may not matter. Does not cover all platforms bgfx does, but still is pretty usable.