If you're positive about the 30fps being all of the OP and nothing else, do not try tweaking the automatic vfr settings in tdecimate. Just write an override file that sets the frames that comprise the OP to video (the syntax is "firstframe,lastframe v", inclusive, see the
tdecimate docs for further details) and use its mkvOut parameter to generate the timecodes. I believe that gives v2, which is ugly but you didn't have to write it yourself so whatever.
Allowing the plugin to determine what is truly video and what isn't can only lead to false positives/negatives, or a lot of trial/error to make sure you got the search thresholds right, and if you already know which frames need to be kept that's just a waste of your time. This is only ever a good idea if the content is very mixed, such that it's a huge problem to manually override. A single line (which may be identical for every episode if the show doesn't have cold opens) is not particularly onerous.