Did you make another journey before the one you make during off-peak hours, and is there less than 35 minutes between checking out for the earlier journey and checking in for the new journey? Then NS sees both journeys as one trip and looks at the time of checking in for the first journey to determine what discount percentage should be applied to the second journey. See this page for more information, especially the part below “The first check-in determines the rate. How does that work?".
To avoid this and to get the reduced fare for the journey that's during off-peak hours, you could use a different OV-chipcard for the first journey, or use an eticket for the first journey.
Also, note that NS Flex subscriptions are only valid for travel by train. If you travel by bus, tram or metro, you will always pay the full fare, also during off-peak hours.