The final failed retry event for a no MX message should have permanent severity.
When a message is sent to a domain without an MX record (498), mailgun attempts to send the message for up to 8 hours. Each attempt will be recorded as a failed event with severity = "temporary". The reason is set to "generic" for each attempt except the final attempt which is set to "old".
This final attempt failure event should have severity = "permanent" so you can use the Permanent Failure webhook to observe this dropped message.
Currently, you must also use the Temporary Failure webhook and inspect the reason property to see if the temporary failure is effectively a permanently dropped old message.