I understand this piece entirely: If email did not work this way then you would read and email on one device then when you next accessed the email server from another device you would have unread emails in your inbox, which is not true since you already read the email in question.
However, I do not understand why this has to be true: As I understand it rules are not auto applied to read emails.
The operation of local application-applied rules (NOT read/unread status) does not need to have any knowledge of the server status of a message, as by definition local Rules are not synchronised across devices/servers.
So, whilst it appears that you may be correct that rules aren't applied to read mail automatically, this behaviour is not what the user requires/intends and therefore is a bug - there's no point offering functionality that can't be implemented, or does not provide a warning to the user that a failure has occurred in applying the offered functionality.
Furthermore, if I select the message and Apply Rules, then Mail does apply the rule and change the colour as requested. So this is a bug - it isn't happening automatically (as you say) but should be and can be done.