That seems extremely excessive. How are users supposed to relate to a “million million”? Numbers this large are way beyond the scope of human imagination.
We can relate to the fact that it takes a photon about 8 minutes to travel from the sun to our planet, until we try to imagine the fact that this Photon travelled a mere 149,597,870,700 meters (one astronomical unit) to get here.
I mean we are talking leaderboards that look like this, right?
3,787,668,465,198
3,787,657,948,733
3,787,628,233,834
3,787,563,234,947
3,787,561,998,293
A very common way to fix this is to drop the last couple (irrelevant) digits, especially if those are 0s anyway. Retro games often bloated those score number by padding it from the right with 0s so a score like 234,560,000 was actually stored as the number 23,456 which fit into a int16 (short) type.
You can do the same here and simply divide by 1,000,000 upon storing and multiplying by 1,000,000 when displaying the number. If you really don’t want to cut the numbers short, you could save the higher bits in the leaderboard and the lower bits in the metadata for the leaderboard entry. Though it may still be tricky to ensure that the high bit numbers create the expected order in the leaderboard.
Perhaps you need those “million millions” primarily for very, very precise timing where I could relate to it more eg 12:34:56.1234 (eg 12+ hours yet milliseconds precision).
That said, Unity Leaderboard does support double score value entries.