If I understand your wishes correctly, it looks like you simply have to switch the interfaces you have defined fro FLAT and PUBLIC. The PUBLIC_INTERFACE is the one that should be externally accessible and as such, the one you would want to reach Horizon from. The FLAT_INTERFACE is that which is used for communication between the OpenStack controller and compute nodes (though in this case if you used DevStack, the controller and compute are on the same single node).
Another note, if you used DevStack to install OpenStack by executing ./stack.sh, you probably need to start with a fresh install in order to propagate these interface changes to all the necessary files. You should be able to use ./clean.sh to remove everything and then run ./stack.sh again in order to reinstall everything.