Could you please test on iOS 8?
This issue affects CKEditor pretty badly (http://dev.ckeditor.com/ticket/12477). I guess that every application which has some keystrokes handling have the same problem.
I just tried on iOS 8.2 and this is STILL broken. Also tried on iOS 6.1 and it doesn't work there either so perhaps STILL broken is wrong and this never worked.
Alan, are you still able to reproduce this issue? I am not seeing this behavior on iOS 12 when I disable "Switching Languages using Caps Lock" (*) and testing using <https://unixpapa.com/js/testkey.html> with showing modifiers checked.
(*) Ensure a hardware keyboard is attached or paired and then open the Settings app and choose General > Keyboards > Hardware Keyboard. Then disable "Switching Languages using Caps Lock".
I am unable to reproduce this issue. Closing Resolved Configuration Changed.