At very first sight: Both devices (Filter and UART) are CYDEV_PERIPH_BASE and not Sram as you coded.
Hi Maxi, here are a couple of things that needs to be changed in your code.
1) What is the UART TX Buffer size ? If the size of the buffer if 4 or lesser, then the dest address should be
#define DMA_3_DST_BASE ( CYDEV_PERIPH_BASE )
if the size of the buffer is greater than 4, it has to be CYDEV_SRAM_BASE.
2) The primary reason why you are getting only the lower byte is becuase of the coherency not set properly. The DFB staging register coherency key byte should be set to the byte that is written last. The DFB Filter component sets the default coherency key as the High byte. It should be changed to middle byte as DMA reads or writes low byte followed by high byte in the staging register.
Refer to DFB[0..0]_COHER register to learn more about filter coherency settings (Refer to the TRM register book for details) /*Filter Coherency set to mid byte */ Filter_COHER_REG = 0x55;