Old topic but increasingly important. Maybe there is a different way to look at this. Jsprit is a planning tool - not an execution tool so, as you mention, The time of the break can’t be accurately determined due to variances in the actual departure time of the vehicle. Also it is not just about travel time but also the time on site (service delivery time) because the regulations relate to work time - not just driving time.
I believe that this whole line of thinking is erroneous when looking at breaks based on driving time. Drivers have (increasingly) the EWD (electronic work diary) that they are compelled to use and that determines when they have to take the break. Therefore, in my view, all jsprit has to do is to “allow time” for the break in the journey at the appropriate accumulative time point.
This could be done when a job is inserted into the route by looking to see if the sum of the travel time and service time straddles a required break timing and add the required break time to the job as service or travel time.
Vehicle A has to travel for 4 hours to deliver a load and will take 1 hour to offload the load giving an activity time of 5 hours. The rules (arbitrary) say he must take a 15 minute break after 4.5 hours work. So add 15 minutes to either the travel time or the service delivery time of the job.
This approach ensures that the route has allowed for the mandatory break times during the route but still accurately determines the route timing.