That's simple but yet confusing. In simple words, "every URL is a URI but not every URL is URL". When you specify a protocol or connection format with URI, it becomes URL e.g
example.com is a uri
http://example.com is a url ame is for ftp://, mailto: etc
So practically, you can't us just the uri to access the server because you need to specify what type of connection you want unless you enter the address directly in the browser which uses http:// by default
Regarding the questions about searches, so that's true, when ever you make a request, the dns first finds the URI regardless of the connection type then that's your browser which will try to make a connection to the server using a required protocol. So its like this:
Browser ---> Sends URI to DNS SERVER
Browser <--- DNS server Sends back an IP
Browser ---> adds a protocol, making the url from uri and try to connect to server