Connection Manager does not support host naming. Also, host naming only works on TCP/IP and one of the features of CMAN is the ability to translate different network protocols between client and server.
There is no such relationship between name resolution and middle-tiers. These are different concepts. You can use host naming for 2-tier as well.
isn't host naming used for three-tier environment and local naming for two-tier?
Local naming only says that a listener will be tried according to a TNSNAMES.ORA file. In hostnaming the same listener will be found on the hostname provided on connection string using TCP/IP and default port 1521.
An ounce of action is worth a ton of theory.