I understand the problem. The workaround works for me. See this code in WicketFilter:
if (getFilterPath() == null)
log.warn("Unable to determine filter path from filter init-parm, web.xml, "
+ "or servlet 3.0 annotations. Assuming user will set filter path "
+ "manually by calling setFilterPath(String)");
setFilterPath() is never called and we have the chance to invoke it in WebApplication#init.