The passenger services act says that you cannot take a ship from one U.s. port to a different US port without visiting some, and this is important, distant foreign port. The act also sets out which places qualify as distant foreign ports. No place your proposed itinerary qualifies. So you cannot take the ship from Hawaii to Seattle because there is no distant foreign port on the itinerary.
Looking at each leg separately, the first leg starts in the US and ends in Canada. PVSA doesn’t come in to play because those are not both US ports.
Same with the second leg. You start in Canada and end in the US. No violation.
It’s when you put the two together that you run into trouble.
By the way, and this doesn’t come in to play on your proposed trip but people always ask, how come you can go from Seattle to Alaska and back to Seattle with only a visit to Victoria. Victoria isn’t a distant foreign port. That’s correct. But those itineraries begin and end in the same US city. To go on a closed loop cruise, which seattle-Seattle would be, you only need to visit some foreign port. Not a distant one, any one will do.
sadly, the visit to Canada in your proposed itinerary does not bring it into compliance with PVSA.