Wow, people are really divided here. FWIW, here's my response: I first thought you were "more correct" than your guest. But then I went to look at your listing and I've changed my mind.
Yes, I agree, the guest should not have brought a third person unannounced. So he says he was going to pay you the extra $15 upon arrival, but even that doesn't matter because he still booked a 2 room, 4-person place with you. (Technically, he needs to pay that though Airbnb, so the booking would have to be amended.)
However, I went to read your listing, and I have to take the side of the guest. If it were ME, I would have expected that there were indeed 2 beds, for 4 people, and the extra couch as you mention... because that's what I would think I was paying for (the entire listing). If it's LISTED as what the guest gets, then the guests GETS what is listed.
You can't assume those 2 guests that booked were not going to use both beds! If I booked with a traveling friend, and the place had 2 beds, you better believe we'd each take a bed. And, if I ran into another friend who did not have a place to stay, I would have offered them to stay with me, saying that my accomodations had the room, afterall, I was paying for a place that advertised that it accomodated 4 people total. (This difference here is communication tho... I would have immediately texted you that I was bringing a third at the last minute and would pay you the extra fee upon arrival... Your guest, sadly, did not do that.)
Your pics are NOT clear... you show an upstairs bedroom, then another picture shows the end of a sofa (I think?) but looking beyond into a partial view of a bedroom (and that bed is different). I would suggest you have a picture of each bedroom, and then also the couch if you allow that to be used for sleeping. You also don't elaborate in your written description the setup exactly, so I would also do that for future clarification.
What you fail to mention in your OP is the language you used when you informed him that your children were coming. So we don't have those details, which are kind of critical here, imho, by asking your question to the community. Did you just say they were coming and did the guest mind? or did you go on to say that one of the bedrooms that is part of the listing would therefore be taken? If it were me, and you just said they were coming and asked if i minded, I wouldn't think twice about it, and say "sure, whatever" because it wasn't affecting me. Unless you specifically told them that one of the beds in the listing THEY had booked was to be used by your visiting children, then I think the guest is "more" in the right than you.
Bottom line, communication is KEY, before, during, and after a guest's stay. My listing repeats several things, not because I'm not proofing my copy, but because I want to be crystal clear as to what people can expect. Even then, we hosts all KNOW that rarely do our guests read everything, even though they are supposed to. I even message my guests (right after they confirm a booking) to immediately go back and read my entire listing over very carefully... because there is vital information they need to know. Ha ha, then I repeat everything once AGAIN (and even more) in my little welcome letter they find bedside.
At least now you know what you need to communicate better, change or add to your listing description to be crystal clear, so this doesn't happen again!