It is impossible for this forum to tell you which port is being used. You haven't told us the date you berth in Stockholm, nor which of the several Viking ocean cruise ships you are sailing on. Nor is it up to us to research that.
Please ask Viking as suggested above, but they may or may not know at this stage. Some ports allocate the berth quite close to arrival.
I did spend time last night trying to find a public schedule of which cruises are calling at which cruise dock in the city this year and there simply isn't one.
If it is Frihamnen there are two bus routes- the #1 and the #76- which serve the terminal and run to Gamla Stan metro stop. Tickets can be purchased in the terminal, at a booth at the stop or on board the bus. You can also buy a Stockholm Card at the terminal.
To me, if someone says they are arriving on "The Viking" in Stockholm my first assumption would be that they were arriving on the Viking Line ferry from Finland, not on a cruise ship.
It depends how you travel. I personally would stay in the City and take the 3am (or later, depending on flight time) first Flybus to Arlanda from Central station.
I also would not be gnawing away at the issue of which berth will be used so far out. From research you can establish that any berth (even Nynashamn, which some ships use for Stockholm) gives me an easy transfer into the city.
The bigger issue to solve currently is Faro to Bergen, preferably without having to interline, but by connection on one ticket. Greater cost is to me more important than the inherent problem of trying to interline in any country on the lowest possible fares- that is a recipe for disaster IMO.
A solution, as a pure hypothesis, is to train (or bus) from Faro to Lisbon then fly Lisbon to Bergen as that should provide more connection options.