Weights with plm package

Edit: This problem does not exist anymore since plm features a weight function now (see @Helix123 comment above).

Even though I know of no solution with the plm package, the felmfunction in the lfe package handles weights correctly in the context of fixed effects (which seems what you need from the syntax of your example code). It is particularly written with a focus on speed in the presence of many observations and groups.

The lfe package focuses on fixed effects only, so if you need random effects the lme4 package might be more suited to your needs.