An Azure relational database service.
The plans are not identical, but they are similar. Since they are only estimated plans, it is difficult to say if those differences matter or not. (Often bad performance is due to misestimates.)
However, in the plans there are to cases of Nested Loops + Index Scan which stand out like a sore thumb. It seems to me than an index on ProcurementTrimsPurchaseOrderDetails.TrimsPrePurchaseOrderID would do wonders.
I also get a feeling that the query itself can be improved. For instance, I am not sure that we need to access ProcurementTrimsPurchaseOrderDetails twice, but without further knowledge of table and data, this is a little precarious do, so I leave this for the moment.
One small thing, though. Chance FORMAT(OrderDate,'yyyy-MM-dd') to convert(char(10), OrderDate, 121). FORMAT is implemented in the CLR and the context to the CLR can add insult to injury when there are many rows returned.