Your question is all about MIME types.
MIME type is resolved not only by file extension (glob patterns), but also by file contents (magic rules).
When no glob patterns or magic rules match a file, then it is resolved
to the MIME type text/plain if it contains textual data or
application/octet-stream for binary data. If the file is empty, then
it defaults to text/plain.
So exactly as you noted, file with unknown extension is resolved to text/plain, but if it contains binary data, it is resolved to application/octet-stream, which is shown as "Unknown" (if you are curious why, search for "application/octet-stream" in
If you need to register new extension and associate some application with it, you should first register new MIME type, associated with desired extension, and then associate some application with this new MIME type. The following links explain this:
If you don't need to register new extension, I don't see any reason to change the default behavior (resolve text data to text/plain). It's natural.