Hannah is lovely.
Here are my thoughts for a little brother-
Finn-I just love this name. It’s witty, sporty, fresh yet not made-up modern. It’s not what I’d first pair w/Hannah, but it doesn’t clash.
Samuel-I love this one too. [name_m]Samuel[/name_m] is just so smart, kind & down to earth. Plus, [name_u]Sam[/name_u] is sporty & outdoorsy. Super perfect w/Hannah.
Liam-I love it. It has all of those good similar qualities as [name_u]Finn[/name_u]. Obviously way popular, & not my first pick w/Hannah. It works though.
Sebastian-This is dashing. [name_f]Hannah[/name_f] & [name_m]Seb[/name_m] are unexpected but really cute. I also love the nns [name_m]Satch[/name_m] & Bash.
Jack-A handsome classic. Smart, kind, friendly, simple, grows up well. All of the good qualities! Really popular, but for a good reason.
Thomas-I think that [name_m]Thomas[/name_m] is a good solid name. I’m not super big on [name_m]Tom[/name_m]. [name_m]Just[/name_m] seems a little dated.
Oliver-That’s adorable & works fairly well w/Hannah. Kind of quirky yet handsome & classic.
Nicholas-[name_u]Nick[/name_u] seems a little dated & kind of bro-ish. I love [name_u]Nico[/name_u] or [name_m]Cole[/name_m] for nns. Or [name_m]Nils[/name_m]!
Henry-I love this. As long as you don’t think that two ‘H’ names is cheesy. They go really well together style wise. It’s so common though, but a great name.
Arthur-This is the least expected on your list, honestly. I really like it. It’s classic, a little quirky & grows up well. Goes really well w/Hannah, but like I said, the most interesting on your list.
A few more ideas-
Hope this helps.