Deriving Vsync and Hsync from the color burst clock is the worst idea ever. The color clock was intentionally chosen to NOT be a harmonic of either.
This is incorrect for NTSC:
3579545 Hz color subcarrier / 227.5 = 15734 Hz line rate
15734 / 525 = 29.97 Hz frame rate
Correct under broadcast quality conditions, or digitally generated video conditions like you see on old game consoles or higher quality capable computers like the Amiga home computer where a few NTSC output devices had near or total broadcast quality video capabilities.
Because of the narrow band of the 3579545.45... Hz needs to be kept exactly there and the varying speed of analog video tape player's spinning video head, there is a timing shimmering effect between the color burst phase and the sync just to the left of it when viewing a non-TBC'd analog video tape playback on your oscilloscope. But if I were to explain all the details here on what's going on, we'll have a 5 page brief on the subject.
Yes, with a 4 bit dac & rom (I used a CPLD which game me the sync counter logic as well), I once in the past mad a color video NTSC output device. To preserve the most possible out of my precious 16 dac levels, for the sync, I had a separate 5 digital output from my CPLD based generator which pulled down the output of my dac below the black level to achieve the lower sync voltage.
For your jellybean circuit, I dont get your issue. You have a 4 bit luma dac, IE 16 grey shades. A separate bit for black than black, IE the sync level, IE your sync generator. Another bit for a capacitively coupled superimposed chroma signal and another bit even weaker capacitively coupled color burst to any level the video output is at like the chroma, but just weaker. So, what's wrong?
It almost looks like an Atari 800 video output generator circuitry.
There is no such thing as a DC bias in an NTSC video signal. It supposed to be AC coupled through a large cap when sending it out of a video connector. It is the job of the TV on the other side to find the true black level by clamping down the signal during the time position of the color burst, the average voltage level it sees there is made to be the reference black 0v. Everything after above that point becomes whiter and whiter...