Hiccup has thought about kissing Astrid first multiple times and he always waited until the moment was “Perfect”.
So even though Astrid was the one always initiating the kissing before Season 4 of RTTE, Hiccup was FAR from being the shy type of lover. He’s a romantic, and as a romantic he waited until the perfect moment to initiate their first kiss as a couple.
When Astrid was confiding in him about her fear of being permanently blind, Hiccup comforts her by saying that they’ll get through it together. Telling her that he will never abandon her side and that there will always be a “Hiccup and Astrid”. His genuine confession of commitment was practically a declaration of marriage as he leans in to kiss her before they were attacked.
And when Astrid finally gets her sight back at the end of the episode, Hiccup doesn’t hesitate to kiss her during the sunset after she comments that the moment was perfect for it. And can I point out how passionate that kiss was? Seriously from that moment on all of their kisses has been Husband and Wife level of affection.
So let’s get one thing straight: Hiccup is not a shy lover, he’s a romantic. And he’s not afraid of going in for a more passionate display of affection.