This is a quite complex subject and several discussion have been held concerning this.
The regional parameters specifications RP1 versions did not specify the default dwell time values for AU915 and AS923 regions.
Starting at RP2 versions the default dwell time for these regions is specified in order to avoid as much as possible potential issues.
On LoRaMac-node project when we have added support for AS923 regions we decided that the end-device should enforce the most restrictive limitations in order to ensure that it would always comply with countries national regulations. It was maybe not the best decision however we had to make one as it was not specified.
An end-device is only responsible to ensure that the uplink dwell time restrictions are respected. For downlinks it is the Network Server responsibility to ensure the respect of the downlink dwell time.
This is the reason why starting at RP2 specifications an uplink-dwell-time=1 and downlink-dwell-time=0 has been specified.
It has to be noted that potential issues may still happen in case a network server changes the Rx1DrOffset sent under the JoinAccept message. In case of AU915 and AS923 regions a network server shouldn’t do it as the first Rx window could become unusable.
In order to solve this issue I would recommend to update the LoRaMac stack to the latest version 4.6.0 which implements LoRaWAN 1.0.4 + RP2-1.0.1 specifications.
Version v4.4.4 is now quite old (May 26, 2020) and a lot of fixes have been done since. Please refer to the CHANGELOG.md file for further details.
Under v4.4.4 version the best way to solve the issue is to modify the AS923_DEFAULT_DOWNLINK_DWELL_TIME definition from 1 to 0.