The reasoning for this was discussed on IRC; the primary advantage for Blizzard is that db2 files use the CASC streaming data system, so they can update GlobalStrings as needed without having to push a client update.

GlobalStrings.lua was an exported list of localized strings. This was before they started injecting values directly into Lua globals. It makes sense to skip importing an exported list and just inject the strings directly. In the long run, manipulating the Lua backend to do so probably results in marginally quicker load times compared to relying on setting the values through the Lua engine. This also allows centralized storage of all localization and easy correction of localization errors.

They can update nearly everything without patching client in Legion, including tooltips.

Whether they actually will do that remains to be seen though. They don't like to get things out of sync between localizations, and hotfixes to tooltips would require all of their localization teams to be doing high-priority localizations in the middle of other things.