I believe this is expected behaviour - in this case it appears as though there is one discount with a total value of $10 and there's no indication that this discount applies to a specific product, or that it should be split 50% between both products/ fulfilment locations. The API isn't aware that any additional calculations or changes need to happen to the discount amount or value so it appears that it's just applied as is. If you do want the discount to be split in proportion to the value of the different parts of the order that are fulfilled separately you may need to build that functionality in separately.
I manually fulfilled the order at Shopify order admin page so probably it isn't an API issue.
I have had a look at the dev doc and the definition is "The discounts that have been allocated onto the line item by discount applications, not including order edits and refunds."
Does this mean that if the order that contains discount is split fulfilled at the back-end of Shopify, 'discount_allocations' onto the line item is set with the value of full order discount amount ($10), however, it is set with the value of discount amount for this specific line item ($5) by discount applications?