Separating analog and digital GND planes is a deprecated practice though. Using a single solid GND plane and combining that with some physical separation between the analog and digital sections is nearly always a better solution. Take for example the control lines to U5. The return paths for these signals have to make a detour to wherever the connection between the GND planes is. Noise generating U4 is now also quite close to the analog section. You have a quite big PCB. It's easy to have multiple centimeters of distance between the analog and digital sections by moving those sections apart.
Wasn't aware this was the case. Was mostly following the latter portion of the following advice from the AD9837 datasheet (emphasis mine):
The printed circuit board that houses the AD9837 should be
designed so that the analog and digital sections are separated
and confined to certain areas of the board. This facilitates the use
of ground planes that can be separated easily. A minimum etch
technique is generally best for ground planes because it provides
the best shielding. Digital and analog ground planes should be
joined in one place only.
If that's not considered good practice anymore, I would rather do away with it, makes it easier on me haha. Ope, also just realizing "minimum etch" did
not in fact mean hatched. I'm not sure if I was just confused (very likely) or if an opamp datasheet recommended that.
And why use an USB to serial converter IC? Your STM32L053 has onboard USB. There are probably plenty of examples to use it as a CDC device. USB may be difficult to get going at first. But you can at least route the USB wires, and then use some resistors (just like R6 and R7) to either use U4 or the USB of the STM32 directly.
I originally started with the onboard USB, but really mostly because I wanted to. Also because since this part is pin compatible with some devices that
don't have USB, I wanted to be able to swap STM32 more easily, since most of those parts support the bootloader on USART2 on PA2/PA3. Also, most (all?) of the nucleo boards I have use those for the ST-LINK VCP already, so even though it would be a small change to just change which UART it is using, this way it "just works

" on the prototype board.
EDIT: Oh and also this STM32 doesn't support bootloader over USB to begin with
I don't see any PWR_FLAG symbols, and some of the uC pins do not have "No Connect" crosses. Did you run ERC?
Yeah, but after reorganizing the schematic for some pin-changes after my first pass I forgot to do it again

. Re added those and still passes
I also prefer to break out unused pins to some sort of pads, and often add an experimentation area (with separate pads) to be able to easily make modifications. Especially for prototypes.
Good idea
As Hammbone already mentioned. R3, the 50 Ohm resistor does not make much sense. The output impedance is determined by U6B, the LMH6634 opamp. R3 just draws extra (too much?) current from the opamp output.
Ok, so no resistor on the signal output, period? Just straight from opamp to BNC?
I see you already moved a lot of the tracks to the top side. This is good (For EMC reasons), but you can move more of them to the top. In general it's better to keep the GND plane uninterrupted, even if it means detouring signals on the other side. (Except for some critical signals, but your design does not have these). Both Rick Hartley and Robert Feranec have made good youtube video's about the importance and quality of GND planes.
Some if the issues I had here were with the difference in SPI pin orientation between the DDS and the digipot. I think by expanding the space in that portion of the board in general though, I might be able to alleviate that.
I also don't like the hatched GND plane. Solid copper GND plane shortens the return path of signal currents. You can balance the amount of copper on both layers (against warping, although that is not such a big issue as it used to be) by adding more copper on the top too.
Similar thing as before, given my inexperience I just blindly followed the DDS and opamps datasheet layout suggestions.
Thanks for the input!
As an aside: Is there a better way to sync my PCB and schematic if I want to re-annotate the schematic part numbers? Or should I not even care about that. The reason I ask is because right before posting, I had touched up the schematic, synced to PCB, and suddenly it thought I was missing half the board because the part IDs were no longer the same... had to go and hand verify/change most caps/resistors on the board.