Linker error with CONFIG_NET_TCP=y

Yes this option auto-includes back NEWLIB_LIBC (source) and not NEWLIB_LIBC_NANO which I think is the source of the problems. Two different C libraries being included. Try including the float-printf from newlib-nano in a different way, as seen in e.g. Sprintf not working on bluepill (build_flags = -Wl,--undefined,_printf_float).