Oh, I see; it works if you remove it.
Using the upload button works because it doesn’t define the mime type in <source>.
From <source> HTML media or image source element - HTML | MDN
If the
typeattribute isn’t specified, the media’s type is retrieved from the server and checked to see if the user agent can handle it; if it can’t be rendered, the next<source>is checked. If thetypeattribute is specified, it’s compared against the types the user agent can present, and if it’s not recognized, the server doesn’t even get queried; instead, the next<source>element is checked at once.
It’s not a bug per se, but yes, It might be a good idea to let the HTML tag check the file and to get the same behavior as the core as well. Will make a PR later unless the team has a better fix to propose.