The 3DS decompilation scene is still in it's infancy. There's been little research into compiler codegen patterns and current tooling for decompilation projects is little more than python scripts shared between projects.
Most 3DS games are written in C++. Some are written in C (especially ports of other games written in C, or indie games). Unity games released for 3ds are written in C# then compiled to C++ using IL2CPP. The size of the code for these games can vary a lot (anywhere from 484KB for Ikachan to 13MB+ for Super smash bros 3DS).
Instead of overlays, 3DS games use "CROs" which are relocatable module files similar to Dll files on windows. Sometimes these CROs come with names for exported functions, acting as a nice source of symbols.
One other interesting thing is that 3DS games are likely compiled with --split-sections as a default flag, which turns each function into it's own TU. And the linker rearranges these TUs, sorting them alphabetically or putting ones calling each other together as a primitive optimization.
For games that have partial symbols, the alphabetical sorting done by the linker can help people working on said games come up with names for unknown functions.