is there any reason to explicitly grant the server permission CONNECT SQL?
When you create a login, it is granted CONNECT SQL. 

It has nothing to do with user.
When you create a user, it does not automatically create a corresponding login,
and CONNECT SQL is a server level permission that can be granted only to a server level principal, i.e. to login or a server role.

The common use of this permission is the following:

Suppose you have a Windows group as a login, in this case all the members of this group can access the server. One day it happens that one member of the group must have no access to server, but it cannot be removed from Windows group that accesses the server. In this case you can DENY CONNECT SQL to that individual account, so the whole group will still access the server and only that account will not