Sim, eu entendo o que você quer dizer! Neste caso, badnão tem conotações negativas. Basicamente, significa que você tem um forte sentimento ou emoção em relação a alguém, e na maioria das vezes está relacionado a ter afeto ou gostar. Da mesma forma, se alguém diz que está has it badoutra pessoa, tem sentimentos fortes, como se estivesse obcecado, e isso não é bom para ela. Nesse caso, o badnão é um sentimento negativo, mas serve para enfatizar a quantidade e a intensidade da emoção. Não entendo 100% por que é escrito assim, mas a linguagem muda e evolui com o tempo! Essas gírias também vão mudar e evoluir!
Exemplo: Did you speak to Jane? She has it bad for Jonathan. (Você conversou com Jane? Jane gosta de Jonathan.) = > significa que você tem sentimentos fortes
Exemplo: I have it bad for Harry Styles. (eu realmente gosto de Harry Styles) = > significa que você está obcecado por um artista famoso