Does openfire needs a large number of TCP sockets?
Openfire does not use TCP sockets itself but clients use TCP sockets to connect to the server. Standard XMPP clients will open a socket connection to port 5222 and keep it open for the duration of the entire XMPP session. Clients that use HTTP binding to connect to the server may either open a longed lived TCP connection (and speak HTTP binding language) or may open a TCP connection for each HTTP request.
Will the limit affect the performance or the number of maximum concurrent users?
Yes. If your HTTP clients are using longed lived connections then only a certain number of users will be able to be logged in at once. If your HTTP clients open a TCP connection for each HTTP request then only a certain number of users will be able to make a request at once. If the VPS is queuing http requests (instead of rejecting them) then in this case the HTTP requests will take a little longer but will be processed at last. However, the server may decide to terminate an HTTP session that is considered idle due to the lack of activity.
Is there a difference between web-clients using BOSH and desktop clients?
There is a slight difference. The functionality of them should be the same. Both of them can make use of any XMPP service or functionality. The difference is how they connect and speak to the server. The server needs to speak HTTP binding and decode/encode the XMPP stanzas inside of the HTTP requests. That is the extra work for the server.