That what I mean, position is different and not same crew situation as another. True Admiral isn't what he is and thus Lafitte isn't someone Sanji is facing, but Shiryu instead.
What?
But Blackbeard is not a "Captain". He's a "Commodore".
Does it mean Luffy won't fight him?
His top members are called Titanic CAPTAINS. He has a Chief of Staff, a position that is often delegated to be a second in command.
There's 0 reason to believe Lafitte isn't the second in command based on what his position means both inside and outside of ONe Piece.
And Sanji won't fight Shiryu.
At best we will have a clash between them while they are invisible, similar to King's clash. Then Sanji will be used to hype Shiryu a bit and that's it. Zoro will fight Shiryu later.
Sanji had more chances at fighting Shiryu before he got the Raid Suit, because he could want to fight Shiryu for the same reason he went for Absalom, aside from the Nami thing.