What would do differently for this theoretical long-processing app in Java? Would you make a thread sit around waiting for the user to come back and somehow reconnect to it? Probably not. More likely you would store the result in a database or filesystem, which is just what you'd do with PHP.
Your estimation of the need for non-web client applications is greatly exaggerated. Most apps are written as web apps these days to take advantage of the cross-platform ubiquity of browsers. If that's your justification of why Java is the only option, it's a pretty weak one, and has nothing to do with scalability of web apps (which is what this article is about).