Here are a couple pictures to help visualize the flows.
As you can see, the 12 hour time period defined by flows 1 and 4 is outside of the time period between flow 2 (at sunrise) and flow 3 (at sunset). By that I mean it starts before sunrise, and ends after sunset. Flow 1 is always the initial on time and flow 4 is the final off time. The midpoint isn't all that important, it was just supposed to be an easy way to come up with the initial start and stop times defined by flows 1 and 4. They are each 6 hrs from the midpoint.
We know that the date ranges in the flows you have are going to need to be redone each year because of the year being included. Also, you need to consider the daylight saving time changes in your date ranges, and those are not on the same date each year.
The flows I am suggesting also will need to be modified at the daylight saving time dates. You mentioned the midpoint moves a lot, so I took another look at the sunrise sunset chart for my area. It looks like there might be one more adjustment required to my flows. Based on your 10/10 day length, you live south of me, I get 12 minutes less daylight that day. But I think the same principles will apply to your times.
What is important is making sure that the 12 hr time period created by flows 1 and 4 stays outside of the actual daylight start and stop times where flows 2 and 3 are at on the pictures. That means changing flows 1 and 4 when daylight saving time starts and stops. On 9-25 I also get 12 hrs of daylight, I think everyone does. It is from 7:25 to 19:25 here. Initially flows 1 and 4 could be set to whatever the sunrise and set times are for 9-25. They would then need to be adjusted in early November for daylight saving time. And again for that in the spring.
I mentioned there might need to be one other adjustment needed. As the days get longer, the sunset times are changing faster than the sunrise times. That will make the end of day lamp-on time shrink faster than the beginning of day lamp-on time. That wouldn’t bother the plants but, looking at the times for my location, I see that at the beginning of March, a couple weeks before I get to 12 hours daylight, the sunset time will go past the 18:25 time that flow 4 would be at. Not sure that will happen with your times, but If does, flow 3 would run last and the light would stay on all night. So just before that happens, the times for flows 1 and 4 will need to be adjusted to later times. Around a week or two later is the daylight saving time change, and by 3-17 I get 12 hours of daylight.
To simplify it, flows 1 and 4 could be combined into one flow that sends an on command at a specified time in the morning, then has a 12 hour timer, then sends the final off command after 12 hours. That way only 1 flow would need adjusting.
The main thing is, these flows will adjust the lamp-on times automatically on a daily basis, instead of having the same lamp on times for an entire date range. Because of the uneven way the sunrise and sunset times change, it will gradually have more lamp-on time in the morning than the evening. But the total lamp on time will always be the difference between the actual length of day and 12 hours.
You might possibly even modify that combined flow to have several choices of initial start times and it would pick one based on the date. That could automatically adjust the initial start times for DST, move them slightly later in March if needed, or even out the morning vs evening lamp run times. But keep in mind, the more of those automatic date based selections you use, the more editing it will need on an annual basis.