First of all I don't think you should put much effort into DHCPv6. You can run IPv6 without using DHCPv6, so configuring DHCPv6 may just add to the complexity. Only consider DHCPv6 if you know exactly what you want to achieve from using DHCPv6.
Secondly I wouldn't prepare a detailed plan for the transition from tunnelled IPv6 to native IPv6 if you don't know how your ISP is going to deploy IPv6. But considering it at a high level makes sense such that you don't introduce too many dependencies on fixed IPv6 addresses, which are going to be problematic later.
A transition that could work in principle would be to run with IPv6 from both your ISP and from HE simultaneously while you identify all places, where you have addresses configured and update them. There is one caveat though. By default routing only considers the destination address of a packet when deciding which direction to route it. This means packets with a source address delegated by HE and packets with a source address delegated by your ISP will take the same route. But you can probably expect both HE and your ISP to filter packets based on source address, which means regardless of which direction you route the packets, some of them will be dropped.
This caveat can be addressed in two ways. Either you convince either HE or your ISP to permit packets from you with the source addresses you need, or you use a router, which can consider the source address when deciding between two default routes.
Another transition would be to segment your network. Your LAN could have two IPv6 segments, one using each of the two IPv6 paths. Then you can migrate services one by one.
The easiest transition would probably be to just shut down the tunnel and switch over in one go. Then start figuring out which services are unreachable and bring them up again. This means downtime during the transition, but if you aren't running anything that needs to be up 24/7, then that is easiest.
Places where you actually have IPv6 addresses configured should be kept as limited as possible. As much as possible, you want to use hostnames rather than IP addresses. In those corner cases where depending on DNS isn't an option, you can still use hostnames and put them in /etc/hosts.