Both types of alias definition work in a button - e.g. Go {alias|imagetools} NEW or Go /imagetools NEW - but only the latter is resolved to the full path. Could script support for {alias|xxx} resolution be added please.
{alias|xyz} is a command code, not something you can throw into paths in any other context. You can't use it in places like the path field either.
/xyz is the syntax for aliases in paths and should always be used with FSUtil.Resolve.
{alias|xyz} exists primarily for non-script buttons/hotkeys, to let you resolve an alias and add the result to the command line of an external tool, where you may need to use /xyz style syntax as command line switches which aren't meant to be aliases. For example, "dir /h" where /h is a switch for the dir command and resolving it to an alias would be unwanted.
What you're asking for is a bit like asking to make "FSUtil.Resolve(/xyz)" work outside of scripts, in buttons or in the path field.