There is a certain amount of leeway with QueueBrowsers. The JMS spec doesn't mandate that the browser returns a strict enumeration of all the messages in the queue, and I know that other implementations don't support queue browsers on distributed queues at all, so I would go for active local clustered queue on the new node.
I will go for active local queue (clustered/non-clustered) on the new node. (It is already done BTW) and I will change if someone come up with a valid point to change the implementation later.
The HA for QueueBrowsers will just open a new browser on the new server and it will replace the objectID to match the new BrowserServerEndpoint.
I had also to add the destination and the selector expression into BrowserState as I needed that information on the client to recreate the QueueBrowser on the new server.