It does run fine, as long as it boot with the Android kernel. The main problem is the lack of Xorg drivers for these devices. The touchscreen and OpenGL are badly lacking. One solution is to use VNC to access the Ubuntu install from Android. As they both share the kernel, they can run in parallel without any kind of virtualisation. Some SoC, like NVIDIA tegra3 have limited drivers available and some open source drivers are being developed, but in early stages and are not ready for general adoption. Power management will also be an issue.
But if you really want to do this, then go ahead, install Ubuntu on a fast sdcard, root your phone and make a script to boot it from android. It work, but it is not very useful, the applications are not design for small touchscreens.