Your analysis looks correct, but the solution is not:
- If the server does not recognize the control type, determines that it is not appropriate for the operation, or is otherwise unwilling to perform the operation with the control, and if the criticality field is FALSE, the server MUST ignore the control.
Your fix may result in not ignoring the control. A fix is coming. Thanks, p.