I ran into the same issue this week. The work around I did was to modify the moneris payment plugin to be aware of the coupon and force it to deduct it from the total being passed to moneris's servers. The plugin I'm using for couponing is CCGV Credit Class Gift Voucher 6.0 for 2.3.1 v10.3. I declared the global order_total in moneris then looked to see if a coupon has been passed, then take the total off. For gift cards this is another issue, but you can leave that for another day.