I would have expected it to stay green (followed). The post cards seem like they aren't paying attention to followed state.
Anyone working on this? I'd like to tackle it
I investigated this and the problem seems to be deeper than just a broken button
How it looks like:

Probable cause:
The button determines own state by comparing url coming from the reader's post feed reader/posts/items/[id]/discover_metadata/attribution/blog_url (in Redux state tree) which for this example is "http://www.londnr.com" and the url from the list of sites that user follows in reader/follows/items which for this example is "http://www.londnr.com/feed"
So you may actually follow the site, but the button will be blue and not green because these are two different strings. The short period when it's green is probably due to an optimistic update.
I couldn't find a more reliable value to compare like an id. It seems like there is such an id in follows list, but not in the reader's post feed
Solutions:
/. But it's quite fragile and with my limited knowledge I'm not sure of the consequencesThank you for the writeup @alexpyzhianov! It helped point me in the right direction. I have a possible solution in https://github.com/Automattic/wp-calypso/pull/25718.
Most helpful comment
Anyone working on this? I'd like to tackle it