You may want to consider taking the Sidney ferry to Anacortes. This ferry goes thru the Gulf Islands and is very nice. It will land you on the mainland.
Reservation is $80 but they apply it to the ferry fare not like B.C. Ferry.
The Anacortes terminal is near a casino for a free stay for the night and a short run east to the I-5.
Have a great trip.
P.S. the ferry fare , if I remember is only $ 158.