If Elliot is signed by the time you draft, and he's available, take him. If he's not signed, run fast. This is a complex mess, with Dak asking for megabucks and same with Cooper.
If he's not signed, I say Johnson and it's not even close. Bell has competition for carries, he hasn't player in 18 months, he has a much crappier OL. Way too many risk factors for a top 5.