Hi Carlos,
Just to clarify "APIM is on a private virtual network" is mean that is APIM deployed inside (injected) on vnet [Outbound] this help to connect to you internal services from APIM:
APIM CALLS --(virtual network injection)--> your services on virtual network
Now going to your new requeriment and question , your services in this vnet can connect privately to your APIM by a Private endpoint connection [Inbound] on your APIM
Your services in vnet --(Private Endpoint)--> APIM
I share the guide how to do it: https://learn.microsoft.com/en-us/azure/api-management/private-endpoint
Additionaly It won't be a problem new firewall front your APIM for all your service connected on Vnet with the private endpoint also Isn't required to target the Private IP , with the private endpoint you will resolve the DNS name internally to this private IP of APIm.
On the other hand services not connected to the vnet will required added to the whitelist of this firewall It's also a recommendation restrict the IP callers in APIM for this inbound access to your APIs.
https://learn.microsoft.com/en-us/azure/api-management/ip-filter-policy
I hope this help you.
Cheers,
Luis Arias
If the information helped address your question, please Accept the answer.