Everyone only looks at best case MLB and worst case NFL. Always so funny how people always frame their argument to benefit their side.
"MLB you'll play 20 years - NFL you'll be crippled the first game of the year!"
Ignoring what he "wants" to do: Football without a doubt.
Worst case scenario NFL:
You get a big first contract (larger than his 1st MLB contract) for 4 years then ease into the nice life of a career backup QB.
Lamar Jackson got about $9.5 mil for the #32 pick.
Hold a clipboard and collect those paychecks afterwards.
Everyone says RGIII - well RGIII is still in the league and has made 9 mil as a backup QB in 2016 and 2018.
As the NFL moves more and more to mobile QBs, he'll be in more demand as a backup QB.
You also instantly get the national recognition and endorsements - at least locally - after being drafted.
Instantly on the roster and #2 QB. Potentially the starter.
Also, if he is a 1st round pick - the team will design a system for him to succeed - see Bal, KC, LA, Phil, Ariz, NYJ.
Teams are fully investing in 1st round QB picks.
You get to live in a major city playing in and working with NFL players/coaches/facilities.
Much better development potential than in minor leagues.
Travel only 10 times a year (preseason and regular season) for a couple days at a time.
Get to be home all week long and sleep in your own bed.
Also, everyone can agree that the NFL is actively changing rules to protect QBs - they aren't getting hit over and over again like other positions.
Worst case scenario MLB:
You are a career minor leaguer and only get that first contract (currently $5mil but could get a new contract for $15 mil)
Even if he gets put on MLB roster from beginning - that's still 7 months (training camp plus season) of constant travel.
Could be in the minors for years - forever. 1st round pick to MLB isn't a straight line for even the best prospects.
A "major league contract" might fast-track it a little but he's not guaranteed to be on 25 man roster initially or ever.