Arduino¹ really isn't the right microcontroller platform for this kind of system. What you need is something that makes it easy to control the PWM units with a guaranteed maximum latency, you need a strict watchdog timer and a interrupt-driven supervision of things like overcurrent. Arduino is a slow, busy-loop driven operating system that makes all these things impossible, or at least impossible if you don't work around the arduino software platform itself. But it's easy to write software for, if you needed none of these things!
You need to realize that the MSP430 in the TI block diagram is the separate, dedicated controller IC that you think you want to use for your second approach – you need no less than something that you can program to control the buck stages, supervise currents and voltages and the charge state. That's clearly a job for a microcontroller! Just not for one running Arduino. Adding an Arduino system to your microcontroller here feels like it adds nothing the actual charge controlling microcontroller, but fragility and complexity!
So, yes. You should stick to the TI block diagram, and no, you should not use Arduino. There's good real-time operating systems out there that allow you to do this, safely, on appropriate hardware, for free. A good real-time OS doesn't take any time away from your actual main job, it just makes it easy to set up things and do regular maintenance/checking jobs without having to worry about data consistency / race conditions / missing interrupts.
The classic choice here would probably be FreeRTOS, which I find somewhat usable, but hard to port to new hardware. You would probably, however, use an eval board anyway, for which there should be a FreeRTOS port.
Personally, I prefer ChibiOS for such small control systems as you need to build, but that means you might need to port it first, which is probably prohibitively complex.
The trend for easy-to-program RTOS seems to be going towards Zephyr, though I have zero experience with it personally. I guess, however, that something like an ST Nucleo F334R8 would allow you to use any of these operating systems, at your preference, and have more than enough compute power to make it easy to build such a system in short time, whilst even having a connector that is compatible with arduino uno v3. And it's relatively cheap and available world-wide. Has all the necessary PWM units, watchdogs, comes with a debugger/programmer for free, enough timers / PWM units for your gate drivers, enough ADCs for voltage sensing, three comparators for overcurrent sensing, 5V-tolerant IOs; basically, more than any Arduino board would offer.
Note that I don't consider writing code for Arduino any easier than for one of the big RTOSes. Yes, you do need to know how to write code, but when writing a charge controller, not knowing your programming well enough will lead to expensive mistakes where you short power transistors, overcharge or deep-discharge expensive batteries or overvoltage devices, so, no matter whether you're doing Arduino or any other operating system, you will always want to test your software properly. Arduino's libraries actively make that harder than necessary – you can't compile most for your a "pseudo" microcontroller that's actually just software running on a PC.
¹ "Arduino" is not actually a single type of microcontroller - there's actually very many different microcontrollers called "Arduino", it's the software that runs on it.