I think when you adapt as request, the dialog field is not consider as adaptable for request type and thats why it is taking default but If you can try something like below, not sure I am just guessing.
You can use @ValueMapValue without via
injectionStrategy, name and via
Injects a ValueMap value. If via is not set, it will automatically take resource if the adaptable is the SlingHttpServletRequest. If name is not set the name is derived from the method/field name.