Perhaps I'm missing something regarding your setup, but I suspect this is because the ActiveMQ server is started (in master or slave mode using its own logic) regardless of whether the singleton deployment is elected as the singleton provider.
Thus, when your "slave server" is the primary singleton provider, the master node's ActiveMQ server is still in master mode. Does that sound about right?
Yes, but isn't the property allow-failback="false" for shared-store-slave element supposed to not allow the ActiveMQ master server to act as "master" once that server is restarted?
In this actual case, that property is set but the behavior suggests what you are saying. So this is not correct.