It is never the IP of the host. I wrote about that here:
Host.docker.internal in production environment - #4 by rimelek
Since that domain is to forward a request to the localhost of your host, it could not be the ip of he host. Docker Desktop for Linux probably works the same way, but you can override the domain on any platform using --add-host or extra_hosts in compose.
Because you are in a virtual machine and the docker network gateways on docker bridge networks are the IP addresses of the docker host which is the virtual machine, not the physical host.