the DS's is a very quirky and nonstandard piece of hardware. Using the native drawing capabilities of a modern GPU will always fall short in some games (and I'm not even talking about less popular games "no one cares about"). melonDS's OpenGL renderer still lacks one hack or another which could make some games work which currently don't, but there are absolute limits to how far this can go.
For this reason I prefer optimising the software renderer, which if everything goes right makes almost all games playable. Also for standalone I moved on from OpenGL to deko3d because it's less bloat and it didn't have that mysterious slowdown OGL while only drawing the GUI had. Porting the GL renderer to deko3d wouldn't be so hard, as it's pretty lightweight and doesn't compile any shaders at runtime, but that's a story for another time.
There's the "hidden third path": running the software renderer via compute shaders on the gpu. Idk whether the switch's gpu is powerful enough for this, especially considering that some OGL extensions aren't available which could make the shader code faster (small integers).
citra won't emulate it, as it only supports the 3DS hardware, the DS/i hw is completely unsupported