Route follows a longer and illegal path around the crossing
Weird CH routing, does not occur when switched to ALT:
https://maps.openrouteservice.org/directions?n1=49.480495&n2=8.472052&n3=17&a=49.480833,8.4718,49.480234,8.472852&b=0&c=0&k1=en-US&k2=km
Even though the illegal turn can be explained by the fact that CH does not support turn restrictions, it is surprising that the longer route is seen as better than just going straight through the crossing!
PS: Graphhopper doesn't have this issue, which might suggest that there is something funny going on on our side..
when you switch over to 'shortest' then you get the correct route - so the root cause might be the speed calculation (have in mind that we just have added speed 'accelerate' code to come to more realistic route times in cities...
Of couse I am not sure, if this is the root cause - but I have already started to discuss with adam alternative approaches to get more realistic times (in cities)
I can confirm that this is related to the travel time calculation, as with use_acceleration=false the expected straight route is found.
JOSM view of the crossing

the issue is because of having to use two different algorithms depending on if it is a residential road or a main road. This is a case where a number of things that could go wrong do go wrong (primary road directly attaching to a residential road, small edges on a primary road because of the junction etc.)
The two options thta are available are to either modify the current algorithm to try an dhandle small edges better, or to spend time investigating looking into the method of using traffic lights and crossings as a guide to updating speeds
The problem is still present, however, it seems to be limited to the CH routing algorithm and does not occur with CALT or A*.