The explanation sounds reasonable. If the egress port hasn't been selected at the time the sample is reported by the ASIC then the port would be unknown.
The sFlow agent typically has a limit in samples per second that can be be processed by the CPU. This limit should be enforced by a hardware policer to protect that management CPU from excessive load. The sFlow limit should be listed in the device CoPP (control plane policer) settings for your device.
Recommended sampling rates,
https://sflow-rt.com/agents.php, provide responsive measurements while avoiding rate limits on samples that lead to systematic errors in the measurements. You may find the sFlow Test application useful in validating the accuracy of your sFlow agent,
https://blog.sflow.com/2015/11/sflow-test.html. Interface counter and packet sample data are compared to verify accuracy.