That gives you an end goal but there is a world of difference between porting a GBC game to the Switch (while you could write an emulator if you look at what Square Enix are doing with their mobile phone/tablet ports and the graphics mods they are doing, to say nothing of things like
https://www.gdcvault.com/play/1023470/-It-s-Just-Emulation , then it is not always just that) and porting the latest system grinder PC game.
Similarly the difference between system grinder PC game and run of the mill PC game that will work on more systems. The Switch has a fair bit of grunt behind it but it is certainly no high end PC or modern console.
We will ignore the legal aspects and financing aspects for this one, though it is no small part of the process in the real world and maybe even the greater trouble for such things most of the time. For a simple example though if I give my porting team a job for a year then it is however much that is, if the result if a Switch game that sends 10000 copies I might make a profit but if I could have instead ported another game that sold a few hundred thousand in the same timeframe my investors will be jumping down my throat wondering what I have been up to.
The ARM thing then. Modern ARM is doing more and more but if you want to go back to the GBA then its ARM CPU could not even do division (
http://problemkaputt.de/gbatek.htm#arminstructionsummary ), there are ways to get it done but it was not there. Going up to the DS then floating point (the main way these days to do fractional numbers, very useful if you are doing full movement true 3d games) was not easy to do on it. Equally most people probably don't have to consider things at instruction level any more.
http://switchbrew.org/index.php?title=Tegra-X1 which means
https://developer.arm.com/products/processors/cortex-a/cortex-a57
So a fairly modern device with no great shortcomings and thus you are likely more concerned with the amount of data it can crunch rather than the types that are best to feed it. It is still relevant, especially for something like my shadows in a PC game example above.
I mentioned engines before. If you use an engine off the shelf (and buying in Unreal is cheaper than spending 5 years making your own, not to mention they will have 5 more years on top of that by the time you are done) then you check to see if yours or a compatible one has been ported to the Switch already.
Engines are not like making PC mods, though it is not so very far removed and much like a mod will hopefully work between different PC systems then you can get a lot of the way there with this sort of thing. A nice overview can be found
https://www.gdcvault.com/play/1011911/Developing-Licensed-Games-Do-It
While a game engine might be nice you would hopefully also have the development plan.
It will run something like this
While code telling me something like
https://github.com/pret/pokered/blob/37ded1d150197b3784bc351eeeb0a8d9713c2e35/engine/battle/core.asm is almost vital for such a project (as a filthy ROM hacker I can pull the finished product apart and figure out how it works but it is very slow and nobody will want to do it for a commercial game really, indeed that very link is the result of some people doing just that over many years and that was for something as simple as pokemon on something as simple as an original gameboy. As Sega lost the code for Sonic it kind of does things like this these days which is part of the reason Sonic ports are not so common and often quite iffy.).
If the development plan gives me the maths the governs it all like
https://www.dragonflycave.com/mechanics/gen-i-capturing
Then I can rewrite that maths in my own time according to the whims of the system, no worries about pulling apart the original code and figuring out how it works and why people did what they did (by the way the game industry is not renowned for its top tier coders that write code that anybody can read and reuse in 10 years like people have to in other businesses).
I am again starting to write loads and nothing I have written here a game porting type would not be able to tell you from memory when blind drunk. I could possibly go into more detail about a specific port but then you would only know that specific port.
Also while I am linking my favourite articles relating to game development I might as well link
https://magic.wizards.com/en/articles/archive/duels-planeswalkers-all-about-ai-2014-02-13 , if nothing else it should allow you to understand why the handheld collectible card game implementations are so weak on the AI front or so weak in the deck customisation side of things. Though actually the following link might be better, and actually if you can't explain why I linked this then it is an indicator of how much you have to learn before you will start to make real headway into the question you have asked