Yes, that's the reason. The endpoint is created at deployment time, before the serving servlet is actually created.
Jim, is there any explicit reference in specs about ordering of endpoint @PostConstruct invocation and the servlet lifecycle? As far as I remember, jsr109 just say that the @PostConstruct needs to be called after the endpoint is created and before any request is served.