The NPE is because the switchboard is null.
In org.jboss.web.deployers.AbstractWarDeployer.deployWebModule, the following line sets the switchboard to null:
Barrier switchBoard = unit.getAttachment(Barrier.class);
The service deploys fine when using the CXF stack, so it seems that installing the metro stack breaks the injection. I still must use the metro stack because I'm using Reliable Messaging 1.1 and CXF currently offers only WS-RM 1.0