Since nobody seems willing to actually answer this:
-- The current custom firmware that most people use is Luma (formerly AuReiNand).
-- Although you asked about using the profile exploit, you can't use the profile exploit because doing what you want means being able to select two methods of booting, either booting into Gateway or into Luma. In order to do that you need a boot manager. You can't use the profile exploit to boot into a boot manager because you can't use it to boot directly into homebrew. (Because nobody bothered to write such a thing.)
-- So you will have to use Menuhax. I know it wasn't what you asked, but you don't have any choice.
-- I assume you have EmuNAND already. If not you will need to create it. Don't forget making sure your NANDs are unlinked--Menuhax doesn't work well with linked NANDs.
-- The first step is upgrading to 9.2. Plailect's guide at
https://github.com/Plailect/Guide/wiki/9.2.0-Update is okay, but not perfect if you have a Gateway. If you have a Gateway you can put FBI on your Gateway and use it to install sysupdater.cia to SysNAND, without injecting anything. Then install an old version of rxtools as suggested, boot into rxtools devmode, and run sysupdater (on SysNAND). In order to use sysupdater you must use devmode of rxtools; doing it from Gateway (or from regular mode rxtools) won't work and may brick.
-- I don't know what firmware you're on. If your browser version is lower than normal for 4.x, the guide might not work since you can't start rxtools in the browser--you'll have to use the profile exploit to start rxtools too.
-- Once you have the 9.2, follow Part 1 of the guide at
https://github.com/Plailect/Guide/wiki/Part-1-(Homebrew) to install menuhax on the 9.2. No date change is needed since you are on 9.2. Now you have 9.2 and Menuhax but you are not yet in a position to run Gateway or CFW.
-- Then get a boot manager such as ctrbootmanager.
https://gbatemp.net/threads/ctrbootmanager-3ds-boot-manager-loader-homemenuhax.398383/ . At this point what's left is just copying and editing files. Copy the ctrbootmanager files. ctrbootmanager has a boot.3dsx and so does your Homebrew Menu. You may want to save the boot.3dsx from Homebrew Menu for later if you want to keep Homebrew Menu.
-- In order to choose between Gateway and Luma, you copy the GW.3dsx from Gateway, then copy the Luma files, but renaming the Luma menuhax boot.3dsx as something else. Create boot.cfg entries for each of these. When you boot your machine you can choose either Gateway or Luma. Technically you're done at this point. Use the Luma to run DSiware/GBA CIA files (after installing them to both SysNAND and EmuNAND).
-- You probably want Homebrew Menu as well. Homebrew Menu and ctrbootmanager both use boot.3dsx, and Menuhax boots the boot.3dsx. I *think* you're okay with just renaming the Homebrew Menu boot.3dsx to something else. I know that if you want to use yellow8's Homebrew Menu .cia you will have to hexedit one of the payloads to point to something other than boot.3dsx.
-- The machine has to reboot to run the GBA/DSi. I forget exactly how Menuhax interacts with it--if it puts you in the boot menu you'll have to ask around for the proper thing to do.
-- People are recommending a9lh, but it doesn't actually work well with Gateway (and is dangerous to install.)
--------------------- MERGED ---------------------------
Also, if you find the boot rate to be very low after you get into the boot menu, you can try different values of autobootfix in the boot.cfg. Having it not always get to the menu in the first place is normal--just try again.