To me it sounds as if it is working correctly and you are just misunderstanding what should be happening?
When the player has the mount equipped but is not mounted, it should return false, true, true, because they do indeed use a mount with more than one seat and the passenger slot is free.