I'm somewhat new to FuelPHP, so it's possible this behavior is by design. This does not occur if the auth config has verify_multiple_logins enabled.
In the check function of \Auth it has an optional parameter to check only specific authentication drivers. In the loop that iterates over these drivers, however, the conditional that exists to shortcut out of the check does not exclude drivers in the $_verified array that were not given in the $specific array.
This means that if you have multiple authentication drivers in use, and if any one of them is logged in, all of them will return true to \Auth->check() no matter what you provide as the $specific parameter.
The entire multiple driver thing has been flaky from the beginning. Since not many people seem to use multiple drivers, bugs like this takes years to find.
Do you think you can fix it, and send us a pull request on github?