Subdomain based routing to respective install folders

Well, I have the solution you want. I start by recreating your setup at demo1.indiax.com:

Also in demo1, I point the document root to public_html/wordpress so that www.domain.tld (or demo1.indiax.com) renders the /wordpress directory. I do this via Virtualmin → Server Configuration → Website Options

And then I create a new virtual server demo2.indiax.com (in your case, roundcube.domain.tld) and use Virtualmin → Server Configuration → Edit Proxy Website thus:

And there you have it:

  1. Visit demo1.indiax.com (or www.domain.tld) to show the website in the wordpress directory
  2. Visit demo2.indiax.com (or roundcube.domain.tld) to show the website in the roundcube directory

@toreskev is right - it would be easy to point webmail.domain.tld to roundcube instead of the default Usermin.