Можно ли так использовать Task.FromResult и имеет ли это вообще смысл?
Не будет ли эта связка await+TaskResult очень тяжёлой по производительности
Проверьте 2 версии кода на тестах, что быстрее то и используйте :)
По производительности будет +/- одно и то же, но вариант с await чуть памяти сожрёт. 
В целом похоже больше на ошибку.