I've noticed that in the OrderPlacedEvent, certain ProcessPaymentRequest data is missing (v4.1) compared to previous versions. It looks like with a recent update we're now serializing the request as json which occurs pretty early on in order placement, so the updated information is never persisted. Although most of the relevant data is attached to the Order, having access to the ppr can be useful for things like fraud-screening.
My current workaround -
in CustomOrderProcessingService
protected override Order SaveOrderDetails(ProcessPaymentRequest processPaymentRequest,
ProcessPaymentResult processPaymentResult, PlaceOrderContainer details)
{
var order = base.SaveOrderDetails(processPaymentRequest, processPaymentResult, details);
_httpContextAccessor.HttpContext.Session.Set("OrderPaymentInfo", processPaymentRequest);
return order;
}