The issue with this approach is that it doesn’t work with normal maps at all.
I actually tried this solution much earlier and posted results in this thread showing the issue