This sounds like Help with extra steps (almost)
It's true that this feels a little cheesy and relying too much on RAW - possibly bending a little the idea that characters act simultaneously (and introducing interesting questions about how fast darkness travels and reaction times).
But in the end, you spend an entire action to pull it off.
Compare your scenario with just having permanent Darkness. Your sheathing-unseathing trick is then the same* as granting Bobby advantage, as the advantage would cancel the disadvantage.
There are a few ways to sacrifice an action to gain advantage, albeit with some extra restrictions (but consider you burned a lv2 spell slot+metamagic!):
- The Help action gives advantage to the first attack roll but requires you to be within 5ft of the target (so not ideal for fleeing)
- True strike: a cantrip that gives advantage to the first attack roll but it's only self-cast
- Guiding Bolt: 1st level cleric spell but you also deal damage (requires attack roll) and gives advantage to the first attack roll
- Just attack: 2 attacks with disadvantage result in 0.6 hits (assuming +5 to hit and AC15) while 1 normal attack results in 0.55 hits on average. Granted, the damage output difference between the characters could make it better if one attacked normally.
Tl;dr: It's not a groundbreaking exploit, it's RAW, it's cool!
*It could be that Bobby can gain advantage in some other way as well, in which case removing the darkness is different from giving advantage (because advantage (bobby's)+advantage(yours)+disadvantage(darkness)=nothing while advantage(bobby's)+ removal of darkness disadvantage (yours) = advantage). In this case, the dagger trick becomes more powerful than the previous actions and perhaps it shouldnt be applied.
** The darkness trick doesn't have this limitation (assuming you make a tweak to the trigger to be "when Bobby fires his second/third/... arrow"). Perhaps, to keep this balanced, Bobby can only get one attack without disadvantage while the dagger is sheathed due to reaction times?