Finally figured out the issue. Thanks for the help @RobertCNelson
When I tried to remove u-boot from eMMC I used this command:
sudo dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=1
This removed u-boot however it also destroyed the filesystem at /dev/mmcblk1p1 which I try mounting during boot. After making a new filesystem and partition, the board boots successfully using u-boot from the SD card.
I’m guessing the filesystem data is stored in the first 128KB on the eMMC and that’s why when flashing a new u-boot version using sudo dd if=./u-boot/MLO of=/dev/mmcblk1 count=2 seek=1 bs=128k
we actually skip the first 128KB.
During debugging I’ve been using 2 beagleboards for quicker testing (one with standard eMMC and the other with my cleared eMMC) This is why my encrypted SD card was still booting on the board with the standard eMMC while holding S2 button (eMMC filesystem was still intact).