This distinction is artificial and never made sense to me. Why have two buttons for hyperlinks, and why should users care / know the subtle difference between the two? Just provide one link button, and if you really must use different syntax between the two (I don't know why), then auto-figure-it-out at insertion time based on what I have put in the form.
Clicking the link button should let me type words with live search autocompletion (for internal page/items matches) like WordPress and Google Docs do, and/or let me type/paste a URL (and it should automatically figure out the title/metadata for me), whether internal or external (default to target="_blank" for external links) and just automagically handle it. Heck, even just pasting a raw URL into the contents should do that, live in the editing canvas. If typing an external URL (instead of pasting it) you will have to use my timeout-based heuristic to avoid spamming the remote server with opengraph requests.
I would suggest unifying the syntax there, unless you have some really good reasons not to; I posit the user doesn't care about the distinction between internal and external. Why should they?