I do not have much experience with TX1/TX2 but I have worked a bit the previous generation Tegra2/Tegra3.
Provisioning has always been bit of a pain, due to the specialized tools used for Tegra where you create the partitions with the tool (xml file in this case right?). Our workaround working with the older SoCs was not to use the flashing tools from NVIDIA, but instead just executing U-boot from recovery mode and then you can take a fairly standard approach on flashing the devices. The tool used was tegrarcm [1].
But this would probably be a to big of an overhaul of how meta-tegra works today, and it might be easier to use the current classes available in meta-tegra.
Regarding the U-boot environment location. I recently also worked with a board with similar hardware partitioning and U-boot environment was stored on one of these as well (default BSP), that is:
/dev/mmcblk0boot1
What I noticed is that Mender currently does not support putting the environment on one of the HW partitions. Maybe you could make it work, but you would probably need to fight the meta-mender layer as there are many assumptions that it should go in the "root part".
In the end I accepted the location that meta-mender generates, meaning that it ends up on "/dev/mmcblk0" which worked just fine for me.
I have seen that is pretty common to put the U-boot environment on the last block of "/dev/mmcblk0boot1", not sure if it has any real benefits and might be just a thing that everyone copies because someone else did it :).