Yes.  What happens at the moment is:

VectorFunctionSpace subclasses FunctionSpace.  When you build a VFS, you first build a FS (with the wrong ufl_element) and then override the ufl_element with the correct one (and set dim appropriately).  So fiat_from_ufl_element is never called on the OPVE or indeed the plain VectorElement.  However #79 refactors this to call the superclass constructor (that calls fiat_from_ufl_element) after everything is set up (so it will see an OPVE).  Which I am not convinced by.