I ended up solving this for my project like this in C++, but you could easily abstract this into a blueprint function library utility.
void AVeilPlayerController::SetMouseCursor(TEnumAsByte<EMouseCursor::Type> NewCursor)
{
CurrentMouseCursor = NewCursor;
/*Force the new cursor to show even when no cursor input*/
float X, Y = 0.f;
GetMousePosition(X, Y);
SetMouseLocation(X, Y);
}