Y_hooks is nothing more than, simply put, a loop going through multiple callbacks. OnPlayerClickPlayerTextDraw in the hook will go through several if statements until it finds your result, the same goes for ALS.
However, the created include will not go through this process of searching for the result; it will go directly to where you want. CallLocalRemoteFunction will call only one callback, and all your click logic will be within it. Yes, the include has a hook, but if you look closely at the code, it is called only once and is blocked from continuing if the specific textdraw has a registered interaction (click).
Regarding the callback length, as I mentioned before, not everyone feels confident using open-mp and prefer to stick with the native one. However, if someone happens to be using it and feels the need to use more than 30 characters in a callback, they can simply go to the include and increase the limit. Although I don’t believe this will occur, it is possible. 😊