Patching layout.lua with this fixes the problem for me by effectively allowing curved rail to be part of the station only on the last segment. Probably not a proper fix though
local rail, rail_direction, rail_connection_direction = pre_rail.get_connected_rail({rail_direction = rail_direction_from_stop, rail_connection_direction = defines.rail_connection_direction.straight})
if not rail or not rail.valid then
rail, rail_direction, rail_connection_direction = pre_rail.get_connected_rail({rail_direction = rail_direction_from_stop, rail_connection_direction = defines.rail_connection_direction.left})
if not rail or not rail.valid then
rail, rail_direction, rail_connection_direction = pre_rail.get_connected_rail({rail_direction = rail_direction_from_stop, rail_connection_direction = defines.rail_connection_direction.right})
end
end
if not rail or not rail.valid then
is_break = true
break
end