Laptops and smartphones are made for doing different kinds of things. The real-estate requirements are different, as are the typical use cases, and even in the case where you solve them both with, for example, dynamic web pages, you still end up coding for both use cases separately, you just now have it all stuffed into the same codebase, which is harder in many cases instead of easier.
I believe Microsoft has been trying to make all OS usecases the same for decades. I believe they have not succeeded, not because Microsoft is deficient somehow, but rather because it's not, fundamentally, a good idea.
I think that dream is possible with OS usecases as well, it's just that nobody has made it work yet. And I can't think of a better way to eventually get there than to build it slowly out of free and open source software. It might take a while, but since people have the ability to adapt the software to their needs when it is free, I'm confident with time that it will serve those needs.
Clojure for the frontend? What about native APIs that you need to use on, say, iOS or Android? What about graphics libraries and APIs? What about browser APIs? I'm sure you can write your own wrapper or bindings for whatever you need, but it's an ongoing effort/pain that isn't worth it for most people.
Every platform, backend or frontend, supports specific languages that are suitable for the platform's problem space and are subsequently preferred by the platform's community. Software rarely stands alone. You can always go against the grain with your own efforts, but it's no longer a dream, just another compromise.