None of the fish you mentioned (cherry barbs, rummynose, or bloodfins) are appropriate for that size of tank, regardless of the betta. I personally wouldn't put any of those in anything less than a 20, and even a 20 is probably pushing it, for the barbs especially as they like a lot of swimming room. A 20L or 30+ gallon tank is far more appropriate for the barbs or bloodfins especially. I haven't personally kept rummynose, but they'd be the only ones I might try in something smaller, but they still need a tank more than twice as big as you're working with at minimum. The gudgeons need more room as well.
For a 4g tank, you've got to look at micro fish really, but with a betta already in the tank, you're pretty limited on what can be added. At most, maybe a couple of male endlers. You just really don't have any room to work with there. The water parameters can go south in a hurry, and there's just not enough swimming room for most fish to live happily - especially things like barbs and tetras that do a lot of fast swimming along the length of their tanks.
To answer the broader question of what you can keep with bettas - the simple answer is that it all depends on the betta. I've seen bettas that could live peacefully with virtually any other fish (thankfully, most of mine were this way and all lived in community type tanks of varying sizes) and I've seen ones that would kill absolutely anything you put in their tank and I've seen ones that wouldn't stand up for themselves in the slightest and would get nipped and bullied and stressed to death by their tankmates. There are a wide variety of betta personalities, so when you go to trying to introduce them to community type settings, you just kind of have to see what your particular betta will accept and be prepared with a plan B to quickly move the betta to if the community setting doesn't work for him.