I think there's a decent likelihood that from Nintendo's perspective, this arrangement wouldn't be primarily about advertising Metroid to Fortnite players, it would be about advertising Fortnite to Nintendo fans. Given that context, Nintendo's rationale for their policies are self-evident.
Ah yes, the fledgling little "Fornight" game. So tiny in the hobby and if only they could gain exposure if they were permitted to use Nintendo's blockbuster breakout hit in 2024... Metroid.
(Which is to say if Nintendo actually believed this, they would be working on a nonsensical premise.)
This is how Nintendo has always operated with third party appearances for their characters. Samus appearing in Fortnite benefits Epic more than it does Nintendo.
These posts touch on aspects of some arguments that I have seen in this thread regarding how "stupid" or "dumb" Nintendo is for refusing this collaboration and that bothered me a bit in terms of their logic.
Fortnite is certainly one of the biggest games in the world, and it was already massive before Epic started doing licensed skins, so strictly speaking, Fortnite doesn't "need" Metroid or Nintendo.
But the opposite is also true. Nintendo is literally a brand that's synonymous with videogames and even their smaller franchises like Metroid still sell a couple million of units at full price (which is something that most Metroidvania games can only dream of).
At the end of the day, Epic is definitely the one that benefits the most from having licensed skins act as a hook to get people into Fortnite. You literally see it every single time they announce a new crossover: People who were uninterested in Fortnite but decided to jump in or that actually had dropped the game before but decided to come back, all because a character they already like from other media is being added to the game.
In that sense, the primary benefit Nintendo would get from a collab like this is some free publicity (that might not necessarily translate to anything more than marginal sales for Metroid, as the major limiting factor of the franchise is its genre) and whatever revenue Epic would pay them for the license and the royalties from the skin. So, strictly speaking, they aren't really losing much for refusing.
That's not to say they couldn't be more flexible and less absolutely draconian with how they handle their IP. Their brand is not going to be eroded by having a skin appear when people play on other consoles, especially if the skin had been available only as part of a Switch bundle or as some e-Shop exclusive or perk for NSO.
Indeed, I think that would have been a decent compromise here. My understanding is that Epic doesn't limit a skin to be playable or viewable with your account on any platform, but certain skins can only be acquired on certain places (indeed, I think PS Plus has a few exclusive skins).
Ultimately, the only ones affected here are not the companies themselves, but any fan that would have liked to play with Samus in Fortnite, but as I said before, it's not a big deal.