What I mean by "lives on UNIX/lives on JVM" is a fuzzy statement about the Right Way of Doing Things. The Java way is to build a large system, integrated with the rest of the world via one or more public interfaces, potentially accessed via RMI. You'll talk to the database via JDBC. There are highly configurable enterprise tools for almost everything. This is an ecosystem you need to replace if you want to replace java.
The Ocaml way is to write a program that takes command line input and processes a stream of text (which can come from a file or stdin). To write a daemon, you double fork. Most of your interaction with the outside world is simply via a posix interface.
That's not to say you can't write command line unix utils in Java, or gigantic enterprise daemons in Ocaml. But you'll be going against the grain.
You're strongly suggesting that a Java replacement has to compile on some standardize byte-code… Might be a prerequisite for proprietary software, but otherwise looks unnecessary. Besides, what do you mean by "lives on UNIX"? Ocaml runs on Windows too…
As far as I know, F# is currently unsuitable: that would be escaping the claws of Oracle to fall in the jaws of Microsoft. Now if Microsoft fully frees .NET, or at least abandons all patent claims regarding it, F# might do.