Currently, our team is able to pass the "Form Fields" data via webhook to our external database.
That’s not really what you’re doing in your webhook.
You’re sending the current database values using {{lead.tokens}}. That’s not the same as sending the values that were sent with the form. For example, if a field has field updates blocked, the form data is ignored.
In order to send the form data values, you’d need to look up the Activity Log entry using the REST API. This is something we do when turning Filled Out Form entries into Form Fillout Custom Objects.
You do have additional {{trigger.tokens}} for Filled Out Form trigger metadata: {{trigger.Client IP Address}}, {{trigger.Web Page}}. Not sure if {{trigger.Browser}} works here. You can test it. Of course you could copy the User-Agent to a hidden form field if you badly wanted it.