Can a coupon be programmatically added to an order using the add to cart subscriber?
Got an answer via Slack.  You only need to update the OrderInteface and set the coupons property, then resave the order.  PromotionOrderProcessor handles applying the coupon to the order. 

Something like this should work within your event subscriber:

  /** @var \Drupal\commerce_promotion\Entity\Coupon $to_apply */
  $to_apply = $coupon
  /** @var OrderInterface $cart */
  $cart = $event-&gt;getCart();
  $cart-&gt;set('coupons', $to_apply);
  $cart-&gt;save();