How the two formats actually differ
Less than it might seem, but enough for one to fail where the other works. A WebVTT file must begin with the word WEBVTT on its first line; if it's missing, the browser discards the entire file with no warning. Milliseconds are separated by a dot, not a comma. And sequential numbering, mandatory in SRT, plays no role here.
There's a fourth difference that causes most simple converters to fail: in WebVTT, text is interpreted as HTML. An unescaped ampersand or a less-than sign is read as markup and can alter the rest of the line. Here they're correctly escaped before the file is generated.