In 2023, I can't use my Visa, obviously. And it'd be cheaper for me to bring local currency rather than first exchanging for Euro.
I think that this will be very difficult at best. Crowns will not be accepted in most (think 99%) currency exchange offices, you will need to do your research to find where you can exchange them. Your best bet are big offices of big banks, but I'm afraid that even finding any info online on which office will accept NOK will be difficult. Probably you will need to go directly to banks and ask them if they can exchange NOK, and if not, then which office can. If you don't speak Russian, this will be even more difficult.
And in any case you should expect a very bad exchange rate.
(This is based on my experience in Russia in general, not St. Petersburg specifically. Probably in St. Petersburg exchanging NOK could be a bit easier because the city is not far from Norway, but I doubt that it will be substantially easier.)
Sberbank, the biggest Russian bank, has a special page on their site where you can see which offices accept which currency: https://www.sberbank.ru/ru/quotes/currencies?currency=NOK (you may fail to access the page due to it having a Russian SSL certificate). It lists only two offices for St. Petersburg; I copy a screenshot here:
The words "Продать" and "Купить" on the screenshot stand for "Sell" and "Buy", you can see that the spread is about 30% (!), and with the official (market) exchange rate being today around 74 Rubles per 10 NOK, you see that you lose 17% on selling. And I won't be surprised if you are completely denied selling NOK even when you come to these two offices (e.g. due to employee's incompetence).
(Disclaimer: Sberbank in general offers not-so-good exchange rates, even for Euros and Dollars, so don't take their rates as a reference. However, for NOK it is very possible that you will find no other bank exchanging them.)
At the same time, I'm sure that you should have no problems exchanging NOK to Euros or Dollars in Norway at a rather good exchange rate. And with selling cash of Euros and Dollars, the situation in Russia is much better, and nowadays it is even better than it ever was. Many Russians (both private individuals and businesses) want to get cash, both as a means of saving and for foreign transactions, but banks can not import cash due to sanctions. Therefore you will find that many banks and exchange offices are eager to buy your cash at very reasonable prices, almost matching the current market price, or even at a better rate than the market price. This page lists the exchange prices of Euros in different exchange offices, you can see that there are many deals above 84 Rubles per Euro, while the real market rate for today is about 83.7. That't the premium the exchange offices are ready to pay for getting cash. (In fact, earlier I believed that this is impossible.)
With 10 NOK being 0.88 EUR, this makes 73.9 Rubles per 10 NOK, much better then selling NOK directly.
Moreover, if you have a Russian person whom you trust (a friend, a colleague, etc.), you can ask them whether they will be willing to buy your Euro or Dollars. As I've said, many Russians would like to buy Euro or Dollars cash, buying it from banks is relatively expensive, so they would be glad if you offer them your cash for sale. I'm not exactly sure whether it's perfectly legal or not, but I don't think that with a reasonable sum any of you will get into any trouble.
I looked at the web site of the currency exchange storefront I used back in 2016 to exchange a small amount of USD cash. We stayed in airbnb next door on Pushkinskaya.
And clicked on NOK. Their bid-ask spread was over 20% when I looked! But they can will accept NOK cash.
As Petr wrote, you are likely to get a better rate by first exchanging NOK into EUR or USD outside Russia, then exchanging the latter into RUB.