Thank you sharing the details here, I am sorry I got confused with your set-up here.
As per the screenshot shared I can see that the Publc IP is assigned to the VM itself and when you did a Tcpdump the Public IP address is not present and the packet capture shows the private IP instead.
This is an expected behavior by design, by default in Azure the VM's private IP address will be NATed to Public IP when you are reaching out to the internet as described here.
Even Network watchers packet capture functionality will not capture the Public IP address in this case. The packet capture will contain private IP addresses of the VM.
Hope this answers your question. Thank you for your patience here. Please let me know if you have any further questions. Thank you!