TLDR; Don't ever delete an App Service (Azure Function) without first disconnecting it from its Virtual Network/Subnet.
Ok, I finally got it through a bunch of investigative work. Using Resource Explorer https://resources.azure.com I was able to find the Virtual Network with the Subnet that could not be removed. That subnet had a serviceAssociationLinks value that pointed me to a serverfarms entry which was an App Service Plan on another Resource Group. I went through every resource in that ASP that had Network configuration until I found one that would connect to the Subnet. Attempts to recreate an App Service Plan and/or connect another App Service to that subnet would fail because this one still had a link to it even though it wasn't connected. The App Service that I found was able to connect to the Subnet, but when looking at it, there was an error depicted as "Loading..." Clicking the "Loading..." link told me that the Subnet and its Virtual Network could not be found on a different Resource Group. I moved the Virtual Network with the Subnet back to that Resource Group and the "Loading..." error went away, and it now correctly depicted the Virtual Network and Subnet the App Service was connected to. Next I disconnected the App Service. And then I was able to go back to the Virtual Network and finally delete the offending Subnet.
About 6 hours wasted on this mistake.