Well, I don’t know exactly what’s happening, but I think I have some useful insight. You were right that the problem was tied to the UDL “AutoHotKey” (which is not authored by me). So I checked the XML file that defines that UDL, and noticed that every style in the <styles> section had a fontName specified, and that the font specified was not a font on my system.
In the “Define your language…” dialog within NPP, all the “Styler” buttons were leading to dialogs with “Font options” -> “Name” being blank, which I assumed to mean “use the default style”. However it appears that NPP is NOT using the default style when it doesn’t recognise the font specified in the XML file. Why or even if that leads to the strange bracket-matching behaviour above, I don’t know.
For now, I have removed those fontName specs from the AutoHotKey UDL on my system, and NPP now uses the default font as expected, so everything is fine.
I hope this information can help lead to the bug being tracked down.
WPB