That's pretty much what that rule does, and will still work as long as the pools have unique names across both LTMs.
In either case, the class would need to be adjusted to include IP addresses for the VS's instead of names to avoid a potential circular reference.
Because of the redirect to IP address instead of name, there are a couple of problems you might encounter with this approach:
1) clients who have been redirected will see URIs with the IP address rather than the hostname, and if those links are what they bookmark, all redundancy goes out the window.
2) some apps require an actual hostname rather than an IP address in the Host header field to function as expected (and having the IP in the Host header may aggravate issue 1, if links are relative or otherwise derived from the Host header)
I'd say you might want to push GTM persistence a bit harder...
You can set the GTM LDNS persistence mask here:
System / General Properties / Global Traffic / General / Static Persist CIDR (IPv4)
or
System / General Properties / Global Traffic / General / Static Persist CIDR (IPv6)
The value is the number of bits in the persistence mask.