The official documentation states that this is broken.
Search result boosting works in Solr version 6.6 or earlier, but Solr changed the implementation in Solr 7, and later versions. Therefore, search result boosting is broken in Sitecore 9.1, 9.2, ...
Unfortunately, this doesn't work in Sitecore 9.3: https://doc.sitecore.com/en/developers/93/platform-administration-and-architecture/search-result-boosting.html
You can store the viewsCount in an indexed field and sort by it. Or move away from LINQ and directly query Solr.
This is achieved by imitating existing rules. Works as expected.
string storeVisited = CookieHelper.GetCookie("VisitedStore");
WhenFieldAndQueryStringMatches<RuleBoostingContext> ruleCondition = args.RuleCondition as WhenFieldAndQueryStringMatches<RuleBoostingContext>;
string operatorId = ruleCondition....