How can I set my external keyboard to use a Dvorak layout?
You can use External Keyboard Helper Pro to do it. No need for rooting. From version 2.7, the app supports Dvorak out-of-the-box.

Disclaimer: I'm the developer of this app.