I had exactly the same issue with custom event and finally find the solution.
Do not create the same event in GA4
My mistake was due to misunderstanding with event creation in GA4 (and many bad tutorials too) : you shouldn't create a new event into GA4 !!
In order to see the event in GA4 and get all the analytics about it, I thought you needed to create an ...
EDIT: I finally have the solution!
If you created the event within GA4 and then sent it over via GTM then it gets sent as an event twice, you only have to do it in GTM, not also create it in GA4.
So go to Events >> Create New Event >> then locate the event and delete it - GTM will create it automatically from the tag.
I hope that helps?
There are a variety of methods that you can use to prevent google analytics tracking your own activity on your site:
Apply an exclude filter to exclude activity from your IP address
Install Google's GA Opt-out browser addon
Use a 3rd party addon/...