It showed specific pitfalls we can take care of in other major modes
as well.
It doesn't. Please do (on you Core i9 computer):
for i in $(seq 1 60); do cat dictionary.json; done > hugedictionary.json
Now open that file with the code on master, and with your branch, and
type M->. With the code on master the effect is instantaneous (about 50
ms on my computer), with your branch it takes ~20 seconds (21 seconds on
my computer). If you cannot see the difference, I don't know what else
I could say. And please don't tell me "but this is not the kind of file
size we should care about".