Using nftables to forward HTTP(s) traffic to VM guest without masquerade

The following conditions must be fulfilled in order to VM be able to receive connections from outside:

  1. VM has a default route pointing to 192.168.122.1.
  2. Firewall has DNAT rule configured.

In your case, first one is likely missing. This results in VM network stack dropping the SYN-ACK packets sent by the TCP protocol. This happens because the client VM does not know where to forward the response packet.