I see below explanation about the limits of Premium API here:

Request rate limits at both minute and second granularity. The per minute rate limit is 60 requests per minute (30 with Sandbox environment). Requests are also limited to 10 per second. Requests are aggregated across both the data and counts endpoints. Monthly request limits are also applied. Sandbox environments are limited to 250 requests per month, and paid access can range between 500 and 10,000 requests.

Are the limits mentioned here defined per user (access token) or per application (consumer token)?

Premium API does not have User Access token auth for search, the limits are all App level (Bearer token, which is from consumer keys).