Not sure why things changed in the new version of Wildfly, but it looks like the only solution is to refactor things as I described in the workaround.
Blockquote So as a workaround for anyone looking, I ended up refactoring the code to pass a UriBuilder created from the UriInfo object. Then I could guarantee the object's existence. From what I can tell, the UriInfo object now throws an exception when used outside of the scope of the request (in this case an asynchronous method).