I was able to work around this issue on Windows using LWJGL 2.9.3.
The problem appears to be that the JInputController() constructor calls getPollData() on each axis before the device has been polled.
The workaround is to execute this code before org.lwjgl.input.Controllers.create() is called.
ControllerEnvironment e = ControllerEnvironment.getDefaultEnvironment();
net.java.games.input.Controller[] found = e.getControllers();
for (net.java.games.input.Controller c : found) {
c.poll();
}
Controllers.create();