by running emulators as homebrew through horizon (3ds os) you can kinda abstract away a lot of stuff like sound and graphics, because the os already implements this stuff, and with libctru you can access the built-in functionality pretty much to get sound and graphics working
in layman's terms at least
but if you wanted to run an emulator on bare metal, you would need to reimplement sound and graphics by yourself... which is definitely possible, and you could get better performance that way without all the horizon os overhead, but I doubt anyone cares enough to put the work for something like this
open agb firm is technically the same kind of thing, but for open agb firm they had an advantage in that nintendo had already implemented this stuff themselves in their own agb firm. so an open reimplementation could be made that expanded the functionality, without having to write everything from scratch