Your first approach is exactly right, with one slight change.
Your Canadian passport will get you into the US with minimal hassle, and significant advantages at US immigration. Often US immigration will treat Canadian passport holders as equivalent to US passport holders in terms of putting them in fast lanes etc. Using a UK passport will mean you getting a visa waiver and being fingerprinted. Don't even go there.
Your UK passport will get you back into the UK with minimal hassle. You should use it on return. However, on exit from the UK your purpose is to demonstrate to the airline that you are legally allowed to enter the US and Canada. Show the airline your Canadian passport. (You shouldn't be stopped by UK customs on exit, but if you do, show them your British passport). Put your British passport away until you get back to the UK. If your other nationality was one that needed a visa to get into the UK you should show the airline your UK passport on the return flight, but because Canadians can freely enter the UK that isn't an issue - and with an 'in transit' stop in the US the Canadian passport is best for that too.
Here is an interesting article.