score:4
Tor-Einar's comment made me realize that I'd misunderstood the question. I can't find a direct FAQ for an ESTA, but I did find a statement about two first/given names on a page for an I-9 form. This is an immigration form, rather than a short-term visa form, but both are administered by USCIS.
If you have two first names (given names), include both.
That is, put both first names in the "first name" box. If you're filling out an electronic form and it wants a middle name as well, I would recommend that you write "NONE" or "NO MIDDLE NAME", but I wasn't able to find a reference for this. Only do that if the middle name field is required.
Upvote:1
It seems to me that the instructions are unambiguous: "enter your first (given) name as the first name appears on your passport under the First or Given Name field."
You state that your passport lists your given names as "Johan Fredrik." The first name appearing in the given names field is therefore "Johan." You should therefore enter "Johan."
The fact that you are not called Johan has no bearing on this question.
Similarly, in the US, "middle" name means the name that is in the middle. The fact that you are called by the name in the middle doesn't make the first name into a middle name. In other words, if Alexander Brian Campbell were called "Brian" then an American would say that he goes by his middle name.