Here is the solution --> archive.setContextRoot("/hawtio");
your solution is probably possible only for WARArchive from the wildfly-swarm-core library.
For the general usage (on the level of the ShrinkWrap library) I know one workaround:
WebArchive hawtioArchive = ShrinkWrap.create(WebArchive.class, "hawtio.war").merge(archive);
which basically means that you create a new empty archive with the desired name and merge it with the original archive.
Yeah, it's not nice solution but it is feasible :-).