I use MeGUI also. I believe that it uses MP4Box to mux MP4 - but it provides a nice easy GUI for the purpose.
The subtitles are a proper (text) MPEG4 stream I believe - I'm not knowledgeable enough to say any more than that. I created an SRT file using SubRip and MeGUI used that to add the subtitles. In fact, on checking, it's possible that MP4Box is using them directly (as I point the muxing dialogue to the SRT). VideoLan reports the file to have four streams, with Stream 3 being the subtitles with a codec type of "subt".
Using VideoLan the subtitles can be switched on and off with ease, and I can also easily switch between the two audio channels.
I have used kurtnoise's Yamb for muxing also. I think that also uses MP4Box. As Fandango says, MeGUI is much more than just a muxer - I mainly use it for the encoding.
I am pretty clueless when it comes to video creation, but MeGUI makes things pretty easy to mess about with.
Edit: I have Yamb here at work, and it accepts SRT also - so I guess it
is inherent MP4Box functionality.
Edit 2: Out of interest I just remuxed the film
without subtitles, resulting in a file 56KB smaller in size. I can only assume that the subtitles are stored in text format in the MP4.
Edit 3: I can't stop playing now.

I've just loaded the muxed MP4 into Yamb 2.0.0.7 and it describes the subtitle stream as "
Timed - Timed text (3GPP)". IIRC Media Player Classic cannot render the subtitles.