binwalk is a great tool for figuring out header skipping on various image files... I run it on files almost as a reflex before flashing things (more so than any file checksum tests haha).
Edit: binwalked the latest one as an example... you can see your trimming point is at 131584 and is the next available "TP-Link firmware header". The earlier uImage must be some sort of defaults or migration scripts used by the built-in TP-Link upgrade tool(s) along with the overall firmware header... but you can use this method to find the proper skip/block to make a "naked" mtd flashable file in the future, and on other models (some might have 256KB u-boot or etc thus different offsets). It's basically a Hexeditor on autopilot (I used to know how to spot LZMA magics in hexeditors, like Where's Waldo, but this is way easier)
# binwalk wr940nv4_us_3_16_9_up_boot\\(160617\\).bin
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 TP-Link firmware header, firmware version: 0.-6309.3, image version: "", product ID: 0x0, product version: 155189252, kernel load address: 0x0, kernel entry point: 0x80002000, kernel offset: 4063744, kernel length: 512, rootfs offset: 865629, rootfs length: 1048576, bootloader offset: 2883584, bootloader length: 0
15552 0x3CC0 U-Boot version string, "U-Boot 1.1.4 (Jun 17 2016 - 16:14:48)"
15600 0x3CF0 CRC32 polynomial table, big endian
16900 0x4204 uImage header, header size: 64 bytes, header CRC: 0xDC5CE357, created: 2016-06-17 08:14:49, image size: 42775 bytes, Data Address: 0x80010000, Entry Point: 0x80010000, data CRC: 0x5C656922, OS: Linux, CPU: MIPS, image type: Firmware Image, compression type: lzma, image name: "u-boot image"
16964 0x4244 LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 113496 bytes
131584 0x20200 TP-Link firmware header, firmware version: 0.0.3, image version: "", product ID: 0x0, product version: 155189252, kernel load address: 0x0, kernel entry point: 0x80002000, kernel offset: 3932160, kernel length: 512, rootfs offset: 865629, rootfs length: 1048576, bootloader offset: 2883584, bootloader length: 0
132096 0x20400 LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 2496188 bytes
1180160 0x120200 Squashfs filesystem, little endian, version 4.0, compression:lzma, size: 2691712 bytes, 584 inodes, blocksize: 131072 bytes, created: 2016-06-17 08:23:55