Indeed the Join Accept (green icon) is never shown in the device’s Data page. But it might also not be shown in a gateway’s Traffic page if the Join Request was received by multiple gateways, and TTN has selected one of the other gateways to transmit the Join Accept.
However, if TTN rejects a Join Request then you will not see the Activation (orange icon†) in the application’s or device’s Data page, and not see the device’s Last seen time change. So, seeing any of those tells you that TTN accepted the Join Request and has assigned a new DevAddr, AppSKey and NwkSKey. In that case, unless one is running into Activation not valid - no gateways available, one can assume that the Join Accept will still have been delegated to a gateway.
Another aside: seeing a Join Accept in the gateway’s Traffic page will tell you when TTN has delegated the Join Accept to a gateway, not when a gateway has transmitted it. A gateway might still be unable to actually transmit it, if it receives the downlink too late (like due to network latency).
† Don’t confuse the orange icon for the Activation in the application’s or device’s Data page with the orange icon for the Join Request in the gateway Traffic page.