Can full node with only IPv4 connect to another full node with only IPv6? As far as I know, IPv4 and IPv6 are two different protocols and direct connection between an IPv4 and IPv6 cannot be established. 
If I run a full node with only IPv4, can my node connect to another node with IPv6 only? 
If no, why do I sometimes see my node's peers are IPv6?

Likewise, is it true that nodes with IPv6 can only connect to other nodes with IPv6?
Since there are only about 1000+ IPv6 full nodes in the network now, isn't that they have much fewer choices of peers?
No. IPv4 can not connect to IPv6. They’re almost completely disjoint networks except for the fact that some nodes can be dual stack with both, or many of each type routed.