Got this mostly fixed.
The client side VPN must be created through the Network and Sharing Center (the legacy interface way), not through the Network & Internet - VPN settings page (new, Modern, interface). It works when you do it the 1st way but doesn't work when you do it the 2nd way.
If you're connecting to clients on internal subnets through the VPN, you have to update the firewall rules on those clients. The IPSec clients are coming from a new, different subnet and the firewalls running on internal machines need to know that new subnet is trusted.
I still don't have it talking to the internet through the VPN, which is frustrating, but it isn't required for my application so won't prevent our 2.3.x upgrade.