Ah, this revealed a rather long-term issue - which is luckily fixed now.
See, as the number of required items is indicated within the parenthesis, ie. (num), here the game mistakenly tries to parse number of "axe or carving knife" required
from string within the only parenthesis found: (for rough shaping)
And in this case atoi() function naturally returns 0, which confuses the auto select mechanism.
This kind of cases must have existed here and there within craftable items, but they've been usually fixed with indicating the single item requirement manually, ie. (1).
Fixed - persists in 3.85beta.