Yes, they all sound "odd" to my American ears but perfectly acceptable/understandable. Just sounds like British English. I disagree with Jerry. I would not normally say "have a laugh." I would just say, for example, "it's great to laugh," or, "we all laughed over our silly mistake," or, "it was embarrassing, but we got a good laugh out of it."