The origin of the former phrase, Avere le braccine corte (“to have short arms”), came from the idea someone’s arms were too short to reach for their wallet when it came time to pay for something, such as a meal at a restaurant. It’s derogatory, used to describe someone really cheap and stingy, implicitly at the expense of others. (Hopefully the women pictured above will find a way to amenably afford their meal. Though the woman in the green seems to have rather foreshortened forearms!)
In English this started appearing in the 1950s in slang as “having deep pockets but short arms,” which additionally implies that the person has quite a bit of wealth, but little compunction to use it. In English, the “short arms” is often left out, leaving us mostly talking about rich folks as people with “deep pockets,” which isn’t derogatory by itself.
The other mentioned idiomatic expression, Senza peli sulla lingua, “to speak without hair on your tongue,” means to speak frankly and be brutally honest with you. In English, we might say “Don’t mince your words.”