I would say that this is normal, because an IP address is required to get a valid ARP request (and Scapy supports its own OS independent ARP table).
: srp(Ether(dst="[MAC address]")/[...]). MAC-, ARP .
Scapy ARP, conf.netcache.arp_cache, Scapy dict ( CacheInstance).
, ( sr([...]) srp(Ether(dst="[MAC address])/[...])), :
conf.netcache.arp_cache['[IP address]'] = '[MAC address]'