There are differences between the restriction codes applicable to the Off-Peak Return (SVR) and Off-Peak Day Return (CDR).
The SVR's restriction code, FP, says "not valid until 09:30" with no exception for travel starting pre-04:30, so it's not valid on the 03:54. The CDR's restriction code, O9, says "not valid on trains timed to depart after 04:30 and before 09:30", so it is valid on the 03:54.
Based on the wording of the Network Railcard conditions, the time restrictions technically apply for any travel before 10:00 Monday-Friday, thus meaning it wouldn't be valid on pre-04:30 trains. However, the way this is defined in the industry restriction data feed (as only applying to 04:30-09:59 departures) means that you will still be offered the discount by journey planners, for trains departing before 04:30.
Therefore retailers are correct to offer the CDR, but not the SVR, on the 03:54. And although based on the wording of its conditions the Network Railcard wouldn't be valid on the 03:54, you are entitled to rely the 03:54 itinerary you are offered when buying a Network Railcard-discounted CDR.
The differences between SVR and CDR validity continue in the evening peak, where the latter has restrictions on fast GWR services between 19:00 and 19:18, whereas the SVR cannot have these restrictions as it is a regulated fare (that hasn't stopped GWR from "accidentally" adding such restrictions on several occasions, before being caught!).