Can I handle calculating/charging for shipping after order placed?
Yes, because Drupal Commerce 2.x and most payment gateway modules tokenize credit card details by default for the sake of reusable "stored payment methods." From a customer experience standpoint, you might want to offer some sort of estimated shipping amount, but so long as you're communicating that shipping costs will be calculated and confirmed with the customer prior to charging, there's not technical reason you could not charge the full amount during the fulfillment process.