Theoretically it should work perfectly fine. I would recommend though that your Gluster Network and bandwidth from the xen or kvm host is reasonably fast. As a minimum I'd bond 2 or more gigabit ethernet interfaces for greater performance. If budget allows, use infiniband.
Gluster version 3.4 has now been improved to support this type of use case.
Features for GlusterFS 3.4
...
Eager locking - significantly improves VM image storage
You could also use ceph as an alternative. This is now built into qemu which xen & kvm are built on top of.
Personally I think the DRDB way is a bit limited. It works well for simple smaller deployments though.