Turns out application is a reserved word, or rather it's not allowed as part of a form field name. The Parameter interceptor sets fields on the Action but, for security reasons, excludes any parameter name that matches the excluded parameters regex pattern. More is found at https://struts.apache.org/core-developers/parameters-interceptor#excluding-parameters
The documentation is wrong and, for 6.4.0, the exclusion patterns are the following pair of hideous monstrosities.
(^|\%\{)((#?)(top(\.|\['|\[\")|\[\d\]\.)?)(dojo|struts|session|request|response|application|servlet(Request|Response|Context)|parameters|context|_memberAccess)(\.|\[).*
.*(^|\.|\[|\'|\"|get)class(\(\.|\[|\'|\").*
Application is an object on the Value Stack and a bad person might edit parameter names to hack it.
A different exclusion pattern can be set per Action or for the whole application but, as you've discovered, it's just easier to use a different form name.