It absolutely works if you book through a TA. The charge will be processed exactly the same as if you booked through NCL. I have done this with a previous NCL AMEX offer
It also works for any pre-cruise purchases done on NCL.com such as prepaid gratuities, shore excursions, spa, beverage package upgrades. Again I know from personal experience.
Interestingly, I got this on my AMEX Platinum and added it to my card and then had my spouse check their authorized user gold card that is linked to my platinum card (but they have their own AMEX online login for it) and the offer was showing there still for them to add so they added it. I will be very curious to try this to see if we both get the $350 credit.