ctml if read status is tracked in core
Yes, read status is a core feature. My own extension only shows the status already managed by Flarum.
ctml However I don't know if that would cause issues with Masquerade
That's definitely the problem of redirect-based solutions. If you have multiple kinds of redirects after registration or login, you will need a way to make them work together. This issue also exists with extensions that open a modal at page load, for example the fof/terms update modal together with my Wordpress extension welcome message.
If it's unlikely to have both redirects at the same time, and if they don't block forum access, it's usually not too big of a deal. One of the redirects will work, and next time the user logs in or refreshes the page they might see the second redirect. If however the user account is disabled, this could lead to confusion.
That's why the solution in fof/terms and others of my extensions is actually to disable the user account, show a banner at the top of the website, and then attempt redirecting or opening a modal. If the redirect or modal doesn't work, the message at the top of the website still provides an explanation and a link/button to perform the action again.