I currently work at a company that deploys its main product onto Linux or Unix environments in JBoss, although we prefer an Oracle backend (or Postgres if you don't want to spend money). I'd wager it really doesn't matter, although you should probably use the server VM. You'll sacrifice a bit of start-up time on the virtual machine, but it's much better for applications that'll just be on constantly or need a bit more speed.
When it comes to what you should run it on, go with what you're most familiar with. You're deploying onto Rackspace, so you probably don't have tight technical requirements. If you did, I'd suggest one of the BSDs or similar so you don't have to deal with all that silly window manager stuff that those pesky Linux distributions come with.
JBoss is now a part of Red Hat, so you might find they encourage that in some places. On the other hand, if you're messing around with Seam and JSF like us, you'll probably find that what you deploy it on makes pretty much no difference anyway; most of your efforts will be spent configuring Tomcat/JBoss/whatever to work with what you've got. They've all got their little... quirks.