No it's not overstocked. I know you have reasons for putting the lone danio in there, but you also know it's not ideal (too small for such as fast swimming fish as a danio; fast swimming fish stress bettas)
As for shrimps, be aware that a betta will try to eat them. It may succeed or it may just stress the shrimps.
I put shrimps in with my last betta because of his personality - he ignored them. But he also ignored the rice fish fry that hatched from eggs on the water sprite I transferred from my main tank. With the last betta I had to rescue baby shrimps from the bucket at every water change - they always went into the main tank to avoid over populating the betta's tank. When this betta died and I got my current betta, he tried to catch the adult shrimps but failed. However, I have not found a single baby shrimp since I got this betta although I have berried females all the time. He can obviously catch babies. And when we went away for a few days a couple of months ago I came back to half the number of shrimps than were there before the holiday. At least he didn't go hungry.
As for shrimps, be aware that a betta will try to eat them. It may succeed or it may just stress the shrimps.
I put shrimps in with my last betta because of his personality - he ignored them. But he also ignored the rice fish fry that hatched from eggs on the water sprite I transferred from my main tank. With the last betta I had to rescue baby shrimps from the bucket at every water change - they always went into the main tank to avoid over populating the betta's tank. When this betta died and I got my current betta, he tried to catch the adult shrimps but failed. However, I have not found a single baby shrimp since I got this betta although I have berried females all the time. He can obviously catch babies. And when we went away for a few days a couple of months ago I came back to half the number of shrimps than were there before the holiday. At least he didn't go hungry.