I note that 1.8.29 includes timestamp references in stylesheets.
Global.php is the core code that initializes {$stylesheets}, and this line is the one that adds the stamp.
338 $stylesheet_url .= "?t=".filemtime(MYBB_ROOT.$page_stylesheet);
I'm not sure what version introduced timestamp references, but an upgrade, while laborious, has many advantages.
Pagesource before a global.css edit:
<link type="text/css" rel="stylesheet" href="https://mydomain.com/forum/cache/themes/theme13/global.css?t=1620208166" />
<link type="text/css" rel="stylesheet" href="https://mydomain.com/forum/cache/themes/theme13/css3.css?t=1618658896" />
<link type="text/css" rel="stylesheet" href="https://mydomain.com/forum/cache/themes/theme1/converse.css?t=1642016597" />
Pagesource after an edit:
<link type="text/css" rel="stylesheet" href="https://mydomain.com/forum/cache/themes/theme13/global.css?t=1642251336" />
<link type="text/css" rel="stylesheet" href="https://mydomain.com/forum/cache/themes/theme13/css3.css?t=1618658896" />
<link type="text/css" rel="stylesheet" href="https://mydomain.com/forum/cache/themes/theme1/converse.css?t=1642016597" />
Timestamps were introduced in 1.8.27
Comparing global.php versions 1.8.12, .26, and .27 suggests you may be able to achieve the same result by adding this code.
if (file_exists(MYBB_ROOT.$page_stylesheet))
{
$stylesheet_url .= "?t=".filemtime(MYBB_ROOT.$page_stylesheet);
}
after your version's line 337 which reads
$stylesheet_url = $mybb->get_asset_url($page_stylesheet);
This is an untested remedy. There may be other code changes required which support this feature, so be prepared to revert your global.php if it does not work.