Some of the most common restriction values for motor_vehicle:lanes:conditional and bus:lanes:conditional are surrounded by parentheses according to TagInfo, but the wiki says parentheses are needed on the condition side when the condition has semicolons (;). Could it be that parentheses on the restriction value side are needed because they contain the pipe (|) character? Or is it recommended but not mandatory? Or neither?
The values in the value @ condition syntax must be valid values for the key. If the key doesn’t use parentheses in the values, then that is simply wrong. They are not necessary.
I don’t think that parentheses are allowed in the :lanes scheme, at least Key:*:lanes - OpenStreetMap Wiki doesn’t mention anything in that regard.
Semicolons and @ are used by the grammar of the conditional tagging scheme itself, aka reserved characters.
Parenthesis are only required if the reserved characters are used in the condition (there’s no way to escape strings or characters in the value for some unknown reason, in any case parenthesis in the value are likely simply wrong). Opening hours are the only condition value that is commonly used that can contain a semicolon, but naturally doesn’t have to and the parenthesis are only necessary when it does.
The reason for the many conditions with parenthesis that don’t actually need them lies in a bug in a certain validator.
Those bus:lanes:conditional= have Korean comment. Must be a few or someone misunderstanding.
I think another reason for unneded parentheses is that some mappers may find it an easier rule of thumb to always put temporal conditions in parentheses, rather than remember/check which characters require them. And doing that is not wrong, after all, just unnecessary.
Those bus:lanes:conditional values with parentheses around the value part are just wrong, though.