Ok, Im going to get a little bit technical here, for me and from personal experience, when injecting NES games, first you need to check what type of MAPPER the game you want to inject is using. You can find this info with either google search or use a PC emulator, boot the rom and there should be an option to check the game info.
Then, you need to make a list of all the NES games on the eShop that has been dumped, then again, find out the MAPPER for each of those games. Now you just need to match, close as possible, the MAPPER of the rom your injecting and the base rom, but the rom your injecting cant be bigger than the base rom, it has to be equal or less.
The NES emulator that Nintendo is using doesnt seem to be a generic one that has all the MAPPER included, they do it per game basis.
I find it that NES injects are trial and error to get working, you will come to a point where you tried every single base and the game still wont work, this is when I use PocketNES emulator for the GBA. I inject a NES game into PocketNES, the output will be a GBA rom, you then need to pad the GBA rom created by PocketNES to be one of the original sizes of an actual GBA rom. Then inject this as a GBA game, PocketNES supports MAPPERS but the only downside is the resolution that it outputs because of the GBA resolution it uses.
Most will not follow the above rules and just inject regardless but the above will save you a lot of headaches.