The Address.Clone() does not include the Id property.
The OrderProcessingService.PreparePlaceOrderDetails() and PrepareRecurringOrderDetails() calls the Address.Clone() but the new clone Address has Id = 0. So new Addresses are created by those calls, identical to already existing Addresses, they get saved as new ones and are not even linked to the customer.
Is this by design?
Bug in 4.10 but tested on 4.20 and the same happens.