maxwarmdbcount=300 means there can be maximum 300 warm buckets can exist on ind2 index HomePath.
Ideally all active bucket sizes can be maximum MaxDataSize which is 10GB on your ind2 index setting. Bucket sizes do not change while rolling to hot-->warm or warm-->cold. Only frozen buckets gets smaller because they contain only compressed raw-data.
Indexer restarts, wrong timestamp issues , low disk space may cause hot buckets to roll warm before reaching to MaxDataSize capacity. You can see many warm buckets smaller than MaxDataSize. For calculation you can consider them as MaxDataSize.
Addition to @richgalloway , since your low MaxTotalDataSizeMB setting, your warm db count cannot reach to 300. If there is no indexer restart 5 hot buckets will reach to MaxTotalDataSizeMB (50 GB) then go directly to frozen path (on every indexer restart, all hot buckets are rolled to warm). In order to keep data searchable for 365 days you should calculate the MaxTotalDataSizeMB using your daily ingestion rate.
All we know for sure is buckets will live for at least 31,536,000 seconds (365 days). That's a minimum value because the life of a buckets is based on the age of the newest event in that bucket. Without knowing the ingestion rate it's impossible to know how long a bucket will remain before it is frozen. For the same reason, we can't know how long the bucket will remain at each tier.
Of course, once frozen the bucket will stay there forever or until you thaw or delete it.
--- If this reply helps you, an upvote would be appreciated.