What I want to do is include a checkbox within my legend tag that will trigger a javascript function to toggle the display of the contained content.

Is this a massive semantic faux-pas that I should steer clear of?

There's no reason why I can't place the checkbox within the fieldset instead if necessary.