''I have good news and bad news''

The good news

Linux was very nearly capable of hosting itself without that being a goal

The bad news

It doesn't do it particularly efficiently

Host help needed for

better memory management

faster system call interception

a few other items

Notes:

First, the impressive thing with UML is that it was possible at all. When UML development started, Linux was already very close to being able to host itself. On i386, the only problem was that ptrace was unable to modify system call numbers. Once this was fixed (with a trivial patch), Linux was capable of hosting UML.
On the other hand, though the capabilities are there, in some cases, they are not very efficient.
The major offenders are UML memory management and system call interception.