Hi, Lagrange element with 3rd order polynomials on a triangle has 10 dofs. Nine are on edges and the remaining one inside the triangle is your bubble. That's why the following prints 1.
print FunctionSpace(UnitTriangleMesh(), 'Bubble', 3).dim()
On the other hand, all the 20 dofs of Lagrange element with 3rd order polynomials on a tetrahedron are on the faces. There is no internal dof, hence the error. To get the bubble space with dimension 1 consider
print FunctionSpace(UnitTetrahedronMesh(), 'Bubble', 4).dim()