I have no idea how the DKC sound engine works *BUT* VGMtrans supports this game, which means loveemu successfully reverse-engineered the engine well enough to understand the music format of the game.
My main is DKC. It SEEMS that instruments are loaded separately from track. This makes sense.
Indeed, most SNES games released in the second 2 thirds of the console's lifetime does this. The SPC700 has only RAM for very few instruments stored simultaneously, so switching them dynamically is the only way to have quality music.
Is there a method other than port 0x2140-2143 these instruments are loaded from the cpu to the apu?
No, those 4 registers is the only mean of communication possible to load data in the SPC700 RAM.
Also, is it true that DKC is much more complicated than, say SMW? I can't wrap my head around that. The same APU is used. How are things different?
Yes it's true. Early SNES games (released in the first ~1/3 of the console's lifetime) tend to load instruments only at boot, and never touch them again. This has many advantages, all instruments of the game are available at all times for music and SFX, but sound quality is very limited.
Also early Nintendo games (like SMW and Zelda 3) not only have instruments of the whole game, but also music of the whole game loaded at once on boot! This takes up a lot of RAM, and as such the quality of instruments is even more restricted. The only advantage of this is the speed of changing the BGM which can be done super-fast by a simple write to $2140-$2143 registers.