Yes, Bitcoin Core will permit slightly overshooting the selection target when using the Branch and Bound algorithm, as long as the overshoot is smaller than the cost of creating and spending a change output.
In the loop that evaluates input set candidates, the search will backtrack if the selected amount exceeds selection_target + cost_of_change
, but if the selected amount is between selection_target
and selection_target + cost_of_change
, it'll consider the input set a solution candidate. 
You can find the relevant section of code in the function SelectCoinsBnB
in src/wallet/coinselection.cpp
.