Pay them more.
There's absolutely nothing wrong with greedy Shadowrunners, but if your employees would rather keep the doohicky than hand it over to you in return for the agreed payment for the job, then maybe you aren't paying them a fair rate.
This is one reason why specific information is a good target of runs: it's genuinely worth more to the Johnson/client than it is to the runners, so it's easy to find a mutually acceptable price.
If the runners already have more cash than they can spend then (a) why are they still in the biz? and (b) their clients, including this Johnson, need to find things to offer them that are more interesting than cash. If they see a genuine angle into the metaplot, and a genuine gain to themselves in making a deal to give up something of value in return for something else of value, then they've learned that there's more to life than stumbling over neat stuff and keeping it.
Make the doohickey less tempting.
Similar to "specific information", if you want to give the runners a reason to want to hand over the formula then you could make it not "the formula for blah", but "the last piece of the formula for blah, needed by the dude accumulating all the pieces". It's near-useless on its own, but that in itself will prompt the runners to think, "why am I being paid good money to recover something that appears useless?", and your metaplot progresses from there.
Make it not entirely obvious what the object is.
Their rep is that they're reliable, but maybe their very good friend knows them a bit better than that. Maybe he knows how close they were to keeping the rhino, or otherwise figures out that they have magpie tendencies, and isn't stupid. So he doesn't tell them exactly what the item is (perhaps he lies about what it is), and he arranges the handover soon enough after the run that they won't have time to magically investigate the item to figure it out. Maybe they'll discover later what it was, but his goal is to make sure it's out of their hands before then. How will they feel when they realise the people who know them best don't trust them and aren't straight with them, and it's their own fault because they aren't trustworthy?
Let them screw over their friend.
He'll come after them. If he can afford to hire them, he can probably afford to hire another team just as good. Where do they keep their stuff when they aren't around to guard it? Unless they have a corp-sized bankroll, a team as good as them can probably waltz through any security they can afford. And, to be fair, 90% of Shadowrun is being screwed over by Messrs Johnson, so it's entirely reasonable to let the runners do the reverse.
I think that their characters (they want to be super professional
runners) would not act like their players ("UUUUH, I want to keep all
the shiny things!!").
There are times when players don't get everything they want. They can either play super-professional characters, or they can play characters who keep everything shiny. They can't play both at the same time, but it's their choice which, and you can't decide for them which they choose. If the players have written down in their character descriptions, "I am super-professional", but lack some self-discipline in actually playing the character they've defined, then you can always point out to them, either with in-game events or even just an out-of-character remark, "guys, you're doing it again -- the professional thing to do here would be to finish the job". But in my opinion you can't just "educate" players who aren't sure what they want to play, that's something they have to figure out by trial and error. And you can't tell them what characters to play, firstly because players deserve more input to the game than that and secondly because it's boring. If they play a bunch of unprofessional wannabe runners who'd rather hoard cool stuff than get paid, then the game supports that. It might even be more fun than doing as they're told, after all runners don't have to be total jobsworths whose job happens to be a little more dangerous than most.
The good news is, you may be worried about nothing. You say the last time this happened was their first ever run. That means they thought about doing it once but eventually didn't, and they've never done it since, which is hardly conclusive. So you don't know what they'll do when tempted again. If you're interested in exploring the issue in the game, then you could either throw temptation in their path in a different way, to get to know them better before hanging your metaplot on their decisions. Or you could ensure your metaplot will be interesting regardless of their decision and let it play out as they choose.