Just a quick refresh about the Loop guard STP feature interoperability. We can read about this topic in the Spanning-Tree Protocol Enhancements using Loop Guard and BPDU Skew Detection Features whitepaper:
The root guard is mutually exclusive with the loop guard. The root guard is used on designated ports, and it does not allow the port to become non-designated. The loop guard works on non-designated ports and does not allow the port to become designated through the expiration of max_age. The root guard cannot be enabled on the same port as the loop guard. When the loop guard is configured on the port, it disables the root guard configured on the same port.
Once you configure loop guard on a root guard enabled port, the switch will happily disable the root guard feature:
Sep 8 10:16:02.943: %SPANTREE-2-ROOTGUARD_CONFIG_CHANGE: Root guard disabled on port FastEthernet0/13.
What about the Uplink/Backbone fast features?
Both uplink fast and backbone fast are transparent to the loop guard. When max_age is skipped by backbone fast at the time of reconvergence, it does not trigger the loop guard.