That’s quite old, isn’t it? Current version is 1.0.5, and 1.0.3 dates back to October 2017. Maybe see TTN Uno - RN2903 firmware upgrade.
If the Join Accept can be seen in the gateway’s Traffic page in TTN Console, but is somehow not received by the node, you’ll still see “denied”. And when not accepted then TTN will not send anything at all. So, “denied” really means that the node did not receive anything.