I suppose it could also be implemented with DTLS [0] over UDP [1]. (Checking Wikipedia...) A 2013 paper [2] published some vulnerabilities; mostly implementation flaws, but it raised some questions about the core spec as well.
However you implement it, encrypting DNS probably has it's place, but it doesn't make a whole lot of sense for most applications.