Upon configuring snmp trap source address, the traps are not actually using the configured address, instead they fallback to default lo0 address.
Problem was that source address is in a routing instance and not in the global instance, the configuration lacked the "routing-instance" statement under trap options
https://www.juniper.net/documentation/us/en/software/junos/cli-reference/topics/ref/statement/trap-options-edit-snmp.html
even though documentation shows that the option doesn't exist under the QFX section, in reality it does and solves the issue.
while capturing traps packets or enabling traceoptions, we can see that source address is different than the configured one.
even though documentation shows that the option doesn't exisit under the QFX section, in reality it exists and solves the issue.