A couple of other design ideas you might consider:
Water to water heat exchanger - use your hot water recirc and put the grey water on an independent recirc and use your fresh hot water to heat your grey water
[Tube style heat exchanger](Large Stainless Steel HERMS Coil https://www.amazon.com/dp/B07B9HN3C7/ref=cm_sw_r_cp_api_i_Y8vQDbDG59W43) - you can pipe hot water through a tube inside your tank. They could be a coil design like the one pictured or you could get some stainless or copper tubing and bend your own that’s designed to lay flat on the bottom of the tank.
Either one of these designs could either use your fresh hot water or even engine cooling water. Couple of concerns I would worry about is that they require putting holes in the tanks, which could always wind up with a leak. Secondly (and more concerning) would be that an engineering failure of the heat exchangers could lead to contamination from grey/black water getting into fresh water or engine coolant