This is a very good question. Every contract is different with the amount of pay. However, I must say that you will need to consider that when you are in the NFL, once you get injured, your pay is eliminated. For the NBA, you may be injured and you will continue to receive a pay check as long as you are on contract! Hope this helps a little!
The average salary of an NBA player is nearly 10x that of an NFL player: $7,700,00 vs $860,000.
One consideration though is that there are 53 players on an NFL roster compared to only 15 on an NBA team so your likelihood of making it to the NFL is greater.
There are also significant off court benefits to being a professional athlete as Lebron James, Steph Curry and Kevin Durant who were all on the top 10 list of highest paid athletes for 2020: https://www.cbssports.com/general/news/roger-federer-tops-forbes-2020-list-of-the-worlds-100-highest-paid-athletes/