Q:

Какой тип выражения имеют операторы приведения типов?

Что возвращает dynamic_cast, const_cast, static_cast, reinterpret_cast? 
rvalue или lvalue ?

A:

rvalue или lvalue нельзя вернуть — это свойство выражения, его неотъемлемая часть. Будет ли выражение типа method_cast<to>(from) считаться lvalue зависит исключительно от to.  
В целом, можно считать следующим образом: если to имеет вид T&, то выражение считается lvalue, в противном случае это не-lvalue. Это не вся правда, безусловно, но случаем с rvalue-ссылкой на «функциональный тип» можно пренебречь, я считаю.

