Had the same rattle from the tweeters in the "A" pillars, on out previous Gen 1 ZS EV.
As alternative fix, I opted to buy some self adhesive "Silent Tape".
Cutting the length of the tape, into then narrow strips about 2 - 3mm wide.
Then I applied the tape in a circular fashion around the face edge of the speaker.
When the speaker is returned to the housing, the gasket type cushion then sits between the speaker face and the base of the housing.
This soft felt gasket will prevent the "plastic on plastic" condition and it just provides a felt barrier between both of the plastic items.
When the speaker & grill is first removed from the car, if you shake the assembly from side to side in your hand ( speaker side facing up ) you can reproduce the rattle sound coming from that area when you are driving.
It was a little while before I found narrowed down where the rattle was coming from !.
Then as proof of concept, I removed both tweeter & grill assemblies from the car and carried out a test drive, just to be 100% sure.
The rattle had gone !.
Then I carried out the mod and the rattle never returned.
Had a similar rattle coming from the sky roof control switch / interior light surround a few months later.
Removed the the complete assembly, rattle gone.
Used the same silent tape to fix this issue also.