It looks like your text labels aren't working.
Are there warnings of unattached text in the extraction report? It may be called lvs.rep.ext or some similar name.
The log file/transcript will have a section "TEXT OBJECTS USED FOR CONNECTIVITY EXTRACTION" and there you should see the various text labels expected to be used for net names.
As you try to solve the text issue, you can see if the results are improving if you notice "net names" instead of "net numbers" in the netlist extracted from layout.
If the text labels aren't being attached properly you will see numbers in the layout netlist instead of names. For instance, one layout gate will be number "1" and the other will be number "2". Once the text labels are being properly attached to the nets then you might see "g1" for one gate and a number for the other (without virtual connection). And then finally, if virtual connection is also turned on as well as text labels being properly attached, then in the extracted netlist you should see "g1" for both gates.
After reading your reply, I realized I need to use "text label" on the net I want to "virtually connect".
I thought I only need to name the poly in its Properties -> Connectivity -> Route Net Name.
After placing text lables on the poly, the problem is solved.