You might want to check what "localhost" means in this context.
To the gdb setup, "localhost" means the localhost IP address (127.0.0.1) on your Mac. From what I read, the GDB debugger stub is listening on IP address 127.0.0.1 (localhost) on your Mac host at port 8864.
To your VM-2, using localhost as the hostname to connect to will resolve to 127.0.0.1 and the request will be directed back to the VM itself. Using the IP address of f VM -1 192.168.156.101 will try to route the gdb remote request to that IP. In both cases, that's not where the debugger stub is running - it's running in the host.
I'm not sure if the debugger stub can be reached from the guest by using the hostIP of the Mac and port 8864.
Update: I found something in https://ddeville.me/2015/08/using-the-vmware-fusion-gdb-stub-for-kernel-debugging-with-lldb/ that implies that there is a vmx configuration option that allows the stub to be accessible on the VM's IP address
# If you are debugging a 32-bit machine use `guest32` debugStub.listen.guest64.remote = "TRUE"
Not sure if this works on Apple Silicon but it might be worth a try...