This has taken me some time, but I think I know what’s going on.
I think the issue here is that the published translation files (installed by the WordPress updater) have the script translations (held in JSON files) purged from the PO.
The purged strings ARE present in the official woocommerce.pot
file, so running Sync in Loco Translate will ADD them to the PO. I’ve tested this, and it finds over 2k new strings, bringing completion down to ~77%.
The source you link to (with its 11k strings) still includes the extra strings, but this is not what gets installed when you do it via WordPress. You get about 8,934 strings in the PO and a whole bunch of JSON files containing the rest.
The solution is to use Loco Translate’s Copy feature, instead of editing the System file. (Never edit or sync the system file). Be sure to enable the Merge strings from related JSON files option. Syncing your copied file will observe the original PO, and copy in the JSON strings. You can let WordPress updates deal with maintaining the original files.
However, I just tested this with German and there’s a problem: The published JSON files are missing the “source” field which tells us what script they belong to. This makes it impossible for Loco Translate to reconstruct them into the PO. You can still use this route to maintain custom translations of the original 8,934 strings, but you won’t be able to merge in the JSON strings until such time as WordPress/GlotPress release files with source references.
An alternative solution is to download the full PO from the source you linked to, instead of installing the published files via WordPress. You’ll probably still find this file needs syncing to the official woocommerce.pot file, but its debatable which is more accurate. Note that GlotPress does not observe developers’ POT files, preferring its own extraction tools. Sometimes this is better, and sometimes worse.