I don't know the practical reasons for it, other than probably there was no time to animate a cutscene for this since he was a 'late addition'
My head cannon is that it's because he is being thoughtful and responsible, as a man his age, position, and with his experiences and outlook (As of act I and II) should be. He has offered to help with the tadpoles, and wants to lift the curse, and in a way he is making a deal with Tav/Durge and the gang, so sex might make it a conflict of interest. It's the only real chance he has had to do that in 100 years. Bringing sex into the mix with someone you don't know could produce unnecessary drama that would get in the way of those goals. He is very polite about it though, and doesn't come off as entirely uninterested. Plus I also think he genuinely wants Tav/Durge to go enjoy themselves, they did just help save the grove and Halsin knows that the coming trials will be difficult. He even says himself it may be the last time for a while everyone can just relax and have some fun, and he seems to genuinely want that for Tav/Durge. I do like how you can pick either having a drink or getting to know him without implying you want sex, you can end the convo after that and it will still count as a flirt I believe.
I like that he turns you down though, because I genuinely diddn"t want to jump into bed with him, I wanted to get to know him like I did the other companions. I like the slowish burn that comes from mainly me head cannoning away his lack of content. But this idea that he is catching feels while traveling and having to keep himself under control, really fed into the longing that was building up on my end as the player. It would have been FANTASTIC of they added little snippets after the party and up to the shadow lands. Just little cracks in his demeanor, showing he is getting interested as he gets to know Tav/Durge, when usually he gets so caught up in the task at hand (his words).
I NEED a Ferngullyesque A Dream Worth Keeping moment in the Underdark with him. Nothing too crazy, just a little sumthin.