Need a design suggestion for Timeseries collection for mongodb

I want to create a time-series collection in MongoDB with the following fields:
_id, locationId, machineId, timestamp, eventId, parameter

So, will have around 5000 machines in 5000 locations (so the count of locationId and machineId will be around 5000).

Each machine produces around 200 documents in around 15-second intervals (with different parameter ranging from 1-16 and different eventId ranging from 0-1149)(so timestamp changes in millisecond levels). We poll data(200 documents per machine) every 15 seconds and insert it into the created collection.

I will make a report to display those records(in a paginated way) per locationId/machineId basis sorted by descending order of timestamp and people can apply the filter of timestamp and/or eventId(for eventId people can apply several filters like equal to, not equal to, in, not in, etc.)

So, based on the query, thinking of creating a compound index of the fields:

{'machineId' : 1, 'timestamp': -1, 'eventId': 1}

I am thinking of defining ‘timestamp’ as a time field, but not using any metadata field(as according to the official document metadata rarely changes but in our case we will around have 5000 locationId and machineId, and parameter ranging from 1-16 and eventId ranging from 0-1149, so these parameter frequently changes as we will have around total 1 million records for 5000 devices every 10 seconds. Also, thinking of using bucketMaxSpanSeconds as 15 seconds.

What do you think of my decision? Should I declare at least locationId/machineId as metaField? Should I use the granularity field instead of custom bucketMaxSpanSeconds ?