CRC calculation different for IC
After a bit of brute-forcing, it turns out (as suspected), the datasheet lies. The AS5047U does use 0x1D as its polynomial, but, unlike J1850, the initial value is 0xB7 and the final xor value is 0x00. You can easily verify by entering those values here: http://www.sunshine2k.de/coding/javascript/crc/crc_js.html
Edit: Just got and code example from the vendor and it contains this lovely morsel:
    // The CRC Implementation of the device is not fully compatible to the CRC8_SAE_J1850-standard.
    // It requires to put in 0x00 as first byte before the communication starts.
    // So, the crc-initial value is crcLut[0 ^ 0xff] which is equal to 0xC4

What this comment (poorly) attempts to explain is the initial value is 0xC4, with a final value still of 0xFF. I've replied to the vendor with a strongly worded email.