Why isn't CiviMail tracking my opens?
I notice this: https://github.com/civicrm/civicrm-core/pull/17312 added some nice new callbacks, but since it didn't actually remove the old ones, I suspect this is only affecting Drupal 8 installs that don't have the extern/ directory working.
The key is that these emails are going out with the following at the end of the html:
&lt;img src=&quot;https://blackflysolutions.ca/libraries/civicrm/core/extern/open.php?q=12345&quot; width='1' height='1' alt='' border='0'&gt;

In other words - the new callback is not being used when generating the civimail.
After more digging, I found this:
https://github.com/civicrm/org.civicrm.flexmailer/issues/65
Conclusion: update your flexmailer to &quot;master&quot; until there's a new release.
Also: upgrading civicrm to 5.29.1 also fixes it - that release pulls in a new flexmailer.