Incorrect location_id when using the calculate refund API

Why does the location_id populate correctly when posting a refund object in a cancel order POST request (https://shopify.dev/docs/api/admin-rest/2024-04/resources/order#post-orders-order-id-cancel:~:text=using%20the%20refund-,property,-Path%20parameters), but not when using the calculate refund API and the refund API separately?

Previously, we would call these endpoints during the cancel order action, including the refund object in the POST request to cancel the order. The location_id from the calculate refund step was correct in this process.

Old Process:
POST: Calculate Refund (https://shopify.dev/docs/api/admin-rest/2024-04/resources/refund#post-orders-order-id-refunds-calculate)
POST: Cancel Order (including refund object) (https://shopify.dev/docs/api/admin-rest/2024-04/resources/order#post-orders-order-id-cancel:~:text=using%20the%20refund-,property,-Path%20parameters)

To better align with our product process, we separated these steps: the cancel order action now only focuses on canceling the order, and the refund order action focuses solely on calculating the refund and creating the refund. However, in this setup, the location_id is incorrect.

New Process:
Cancel Order Action:
POST: Cancel Order (https://shopify.dev/docs/api/admin-rest/2024-04/resources/order#post-orders-order-id-cancel)

Refund Order Action:
POST: Calculate Refund (https://shopify.dev/docs/api/admin-rest/2024-04/resources/refund#post-orders-order-id-refunds-calculate)
POST: Create Refund (https://shopify.dev/docs/api/admin-rest/2024-04/resources/refund#post-orders-order-id-refunds)

Why is the location_id incorrect in the new process? Given the fact that when the refund is calculated using the order_id in the request URL, shouldn’t the API be able to assign the appropriate location_id in the refund correctly since the API has access to all related order information and the order_id is used in the request URL?

Per the info from the calculate refund endpoint for what the location_id is:
“location_id: The unique identifier of the location where the items will be restocked. Required when restock_type has the value return or cancel.”

Why does the location_id have to be provided when the restock_type is cancel/return? Why can’t it be auto-determined based upon all the order information the API has access to? What location_id is set when the restock_type is no_restock?