Must numeric JSON keys be quoted?
The JSON notation definition follows the following schema:



The definition of the string is the following:



You can see that the quotes are mandatory both at the beginning and at the end.

The definition of the value is the following:



Note that here you can either supply a string or a number, the number being:



Conclusions:


Keys must have quotes both at the beginning and at the end.
Quotes can be avoided on the value end if you are supplying numbers.


I can't answer why JSON adopted this particular schema and an response here might be opinion based.

SQL Server will always get a performance increases when treating integers over string data types (like VARCHAR or NVARCHAR) since they are faster to operate with and compare, but make sure the data type is actually a numeric type and not a number stored as a string.