@theargentgrub nice! Something that just came to mind is that (if you're using a custom build anyway) you could somehow hook into javascript.
For instance, this function is where every play has to go through: https://codeberg.org/simonrepp/faircamp/src/tag/1.7.0/src/assets/player.js#L270 (applies both to plays that are triggered by the listener, and plays that come from playback automatically advancing)
The track object passed to that function should also contain a reference to the metadata you need for "prettier tracking" (title, track number, etc.), just do a console.log(track) on it to inspect it.
Then, either you could communicate with matomo through some js interface (if exists and feasible), or you could add (a) hidden button(s) to the generated markup that you track with matomo's data-* attributes, and on which you trigger synthetic click events through a javascript hook in the play function (a bit wild, but who knows, might just work :D).