Hello Stephanie Valentine
I'm glad that you were able to resolve your issue and thank you for posting your solution so that others experiencing the same thing can easily reference this! Since the Microsoft Q&A community has a policy that "The question author cannot accept their own answer. They can only accept answers by others ", I'll repost your solution in case you'd like to "Accept " the answer.
Issue: Always get an InternalServerError when I create a firewall to protect my vnet.
Solution: Turns out my keyvault was connected to the firewall subnet somehow, and the subnet was randomly delegated to Microsoft.Web/serverfarms.
How that happened, I have no idea. But removing those connections allowed me to create a firewall that succeeds and works as intended.
If you have any other questions or are still running into more issues, please let me know in the comments.
Thank you again for your time and patience throughout this issue.
Please remember to "Accept Answer" if any answer/reply helped, so that others in the community facing similar issues can easily find the solution.