1. To set the custom order date
$order = $this->quoteManagement->submit($quote);
You can do
to set the order date. And then
$this->orderRepository->save($order); to save that new date
$this->orderRepository is an object of
2. Custom shipping amount
For the custom shipping amount, it’s a little more complicated. Since you can’t just do
$order->setShippingAmount and get away with it. You must also do
A better way would be to write the logic for custom shipping amount in the shipping method itself. You could also write a plugin specific to your scope (frontend, adminhtml, graphql, api_rest, etc.) to apply that custom shipping amount only for that scope.
And then instead of setting
freeshipping_freeshipping as the shipping method, set your custom shipping method.
Have a look at THIS to know more about how to create a custom shipping method.